我有一个标记moto
,应该是字符串'true'
或'false'
。
我如何使用rspec检查moto
是否是这些字符串中的任何一个?
我试过了:
context '#modify_moto_for' do
it "modifies moto flag" do
xml = RequestModifier.new.modify_moto_for(load_trx_content('sale'), 'false')
xmlref = Nokogiri::XML(xml)
moto = xmlref.search("moto").first.text
puts moto
expect(moto).to be_in([false])
end
end
答案 0 :(得分:2)
如果它返回类似' true'的字符串和' false',您可以使用
expect(moto).to eq('true') #=> or eq('false')
我认为它在这里不起作用,因为你返回一个字符串而false是一个布尔值。
如果返回布尔值,则可以使用
expect(moto).to be_true #=> be_false
检查(be_falsey和be_truthy)在rspec文档中提供更强大的检查,希望它有所帮助。
答案 1 :(得分:0)
最低要求是更改:
expect(moto).to be_in([false])
类似于:
expect(moto).to be_in(["false"])