【发布时间】:2017-06-07 13:21:19
【问题描述】:
这是给出错误/失败的方法:
def draw?(board)
if full?(board) == true && won?(board) == false
return true
else
return false
end
end
该方法做了所有应该做的事情但是这是我运行rspec文件时出现的错误:
1) ./lib/tic_tac_toe.rb #draw? calls won? and full?
Failure/Error: expect(self).to receive(:won?).with(board)
(#<RSpec::ExampleGroups::LibTicTacToeRb::Draw:0x00000002e300b0>).won?(["X", "O", "X", "O", "X", "X", "O", "X", "O"])
expected: 1 time with arguments: (["X", "O", "X", "O", "X", "X", "O", "X", "O"])
received: 0 times
这是 rspec 测试:
describe '#draw?' do
it 'calls won? and full?' do
board = ["X", "O", "X", "O", "X", "X", "O", "X", "O"]
expect(self).to receive(:won?).with(board)
expect(self).to receive(:full?).with(board)
draw?(board)
end
基本上,我读到:#draw?未能调用#full?和#won?
但是当我看我的#draw 时?方法,我确实称它们为!作为“如果”条件!
那么我哪里错了?
非常感谢您的帮助!
我目前正在学习 Ruby。
【问题讨论】:
标签: ruby methods rspec tdd call