इस परिदृश्य पर काफी रकम ऊपर मेरी समस्या इंजेक्षन करने के लिए:परीक्षण ककड़ी/अरूबा/Timecop के साथ एक कमांडलाइन आवेदन: संदर्भ
Scenario: problems with subprocesses
Given the date is 01/01/2012 10:31
When I run `ruby -e "puts Time.now"`
Then the output should contain "10:31"
यह नीचे When I run ruby -e "puts Time.now"
एक बच्चे की प्रक्रिया शुरू करने और इस तरह के सभी बनाने के लिए फोड़े मेरा Timecop.freeze
स्टब्स अप्रभावी है, क्योंकि वे केवल मुख्य प्रक्रिया पर काम करते हैं। मुझे किसी भी तरह से चलने वाले आदेश में वर्तमान संदर्भ को 'इंजेक्ट' करने की ज़रूरत है, लेकिन मुझे कुछ भी आने में असमर्थ लगता है। क्या मैं यहां कुछ असंभव कोशिश कर रहा हूं?
कदम:
require 'timecop'
Given /^the date is (\d+)\/(\d+)\/(\d+) (\d+):(\d+)$/ do |month, day, year, hour, minute|
Timecop.freeze(Time.local(year.to_i, month.to_i, day.to_i, hour.to_i , minute.to_i, 0))
end