此测试有效:
require './9_chess_game'
require './9_chessboard'
describe 'Chess Games' do
it 'A Game' do
expect(ChessGame.new).to be
end
end
class ChessGame
def initialize
@board= ChessBoard.new
end
end
但我不喜欢'悬空'是怎么读的。
我有什么方法可以valid
,be_valid
,valid?
,true
或类似的东西?到目前为止我所有的尝试都失败了。
例如,使用to be_valid
生成
undefined method `valid?' for #<ChessGame:0x00000001977650>
答案 0 :(得分:1)
按照约定在RSpec中object.to be_method
会调用method?
上的object
。
如果尾随让你感到不安,你可以尝试在你试图断言的内容中更加明确。
expect(ChessGame.new).not_to be_nil
或
expect(ChessGame.new).to be_a(ChessGame)
或者如果您需要ActiveSupport。
expect(ChessGame.new).to be_present
答案 1 :(得分:0)
您可以使用https://www.relishapp.com/rspec/rspec-expectations/v/3-0/docs/built-in-matchers/be-matchers
中描述的等效to be_truthy
但是,在什么情况下你会期望not_to be
?这是个问题。