我是RSpec的新手,我正在尝试运行“should == A || B”,但是它忽略了'B'并且仅与'A'进行比较(因此当val为'时失败' B'):
Sample.find(:all).map(&:param).each{|val| val.should == 'A'||'B'}
有人知道我在比较中如何包含'B'吗?
答案 0 :(得分:4)
['A', 'B'].should include(val)
这可能会让您的规格通过,但这是您想要测试的吗?返回值是一个集合的成员?如果是这样,那么也许这是一个很好的解决方案。
答案 1 :(得分:2)
你也可以这样做:
(x == A || x == B).should be_true
答案 2 :(得分:0)
Sample.find(:all).map(&:param).each{ |val| ['A', 'B'].should.include?(value) }
然而,这似乎是一个奇怪的测试。
答案 3 :(得分:0)
假设您正在尝试执行存在检查,我会按如下方式重写您的代码:
Sample.exists?(:conditions => {:params => %w(A B)}).should_be_true