编辑:提供的复合匹配器答案是一个更优雅的解决方案:
expect(@weathers.get_day_today).to eq('Today').or eq('Tonight')
原始问题:
我正在测试一个值是否为"今天"或者"今晚"。有内置匹配器吗?或者比我正在做的更干净的方法?
编辑以下是我尝试进行自定义测试,但它不起作用。这是一个不做的例子。
首先,添加自定义匹配器。
RSpec::Matchers.define :be_this_or_that do |expected|
match do |actual|
actual == expected.first or expected.last
end
end
其次,使用它
expect(@weathers.get_day_today).to be_this_or_that(["Today", "Tonight"])
答案 0 :(得分:4)