我想写一个很好的干净检查方法是否存在:
{
key1:
[ "val1"
"val2"
...
]
key2:
[ "val1"
"val2"
...
]
}
fake_method不存在,但是当我使用第二个约定时,我的测试通过了。
有什么想法吗?
答案 0 :(得分:5)
我相信我有答案。第二个约定不起作用,因为根据文档,匹配器是不同的:
https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers/respond-to-matcher
你应该尝试:
expect(subscriber).to respond_to(:fake_method)
干杯!
答案 1 :(得分:1)
我们可以简单地将expect(subscriber).not_to respond_to(:fake_method)
用于否定案例。