【发布时间】:2016-11-16 18:53:04
【问题描述】:
在编写测试以检查实例变量是否等于某个值然后它应该调用某个方法,如果它小于那个值,那么它不应该。我有一个实例变量@counter,初始化为0,还有这些方法:
def increment_counter
@counter += 1
if @counter == 9
tie_game?
end
end
def tie_game?
puts "The game was a tie. Nicely played #{@player1} & #{@player2}!"
play_again
end
我想写一个测试来检查当@counter等于9时,那个tie_game?被调用,小于9时不被调用。
这是我能想到的,但它是错误的:
describe "increment_counter" do
context "counter equals 9" do
it "calls tie_game?" do
game.instance_variable_set(:@counter, 9)
expect(increment_counter).to receive(:tie_game?)
end
end
end
【问题讨论】: