エラーが発生します:
Timer
should initialize to 0 seconds
time_string
should display 0 seconds as 00:00:00 (FAILED - 1)
Failures:
1) Timer time_string should display 0 seconds as 00:00:00
Failure/Error: @timer.seconds = 0
NoMethodError:
undefined method `seconds=' for #<Timer:0x007fd68b27c8d8>
次の仕様を実行しています
require 'timer'
describe "Timer" do
before(:each) do
@timer = Timer.new
end
it "should initialize to 0 seconds" do
@timer.seconds.should == 0
end
describe 'time_string' do
it "should display 0 seconds as 00:00:00" do
@timer.seconds = 0
@timer.time_string.should == "00:00:00"
end
it "should display 12 seconds as 00:00:12" do
@timer.seconds = 12
@timer.time_string.should == "00:00:12"
end
私のコード:
class Timer
def timer=(timer )
@timer = timer
end
def seconds (x = 0)
@timer = x
end
def time_string
Time.at(@timer).utc.strftime("%H:%M:%S")
end
end
最初のテストを 0 に初期化していますが、正しく行っているとは思いません。
また、ターミナル ruby の time_string メソッド内でコードを実行すると、正しい時刻が返されます。しかし、 @timer.seconds = 0 または ...seconds = 12 などの場合に送り返す方法がわかりません。
前もって感謝します!