gem 'minitest', '~> 5.2'
require 'minitest/autorun'
require 'minitest/pride'
require_relative 'light'
class LightTest < Minitest::Test
def test_light_is_off
light = Light.new
refute light.on?
end
def test_turn_light_on
light = Light.new
light.turn_on
assert light.on?
end
end
class Light
def on?
false
end
def turn_on
true
end
end
我知道这是非常基本的,试图让测试通过,但我错过了什么?
所以基本上它说,灯最初是关闭的,然后在你定义并调用turn_on方法后,灯应该亮起。因此,第一个测试应该是假的,第二个测试应该在方法运行后为真。
出于某种原因,我不知道如何将其放入代码中。
答案 0 :(得分:0)
光照状态是物体的状态。
在Ruby中,对象状态保存在实例变量中。
初始状态在初始化程序中设置。
这是您完整的Light
课程:
class Light
def initialize
@light = false
end
def on?
@light
end
def off?
!on?
end
def turn_on
@light = true
end
def turn_off
@light = false
end
end