有人知道如何缩短这一行吗? (RSpec 2)
location = mock
location.should_receive(:build)
例如,您可以定义以下内容:
location = stub
location.stub(build: true)
以上内容与:
相同location = stub(build :true)
那么,有人看到在模拟调用中指定期望的方法吗?
答案 0 :(得分:4)
location = mock.tap { |loc| loc.should_receive(:build) }
答案 1 :(得分:1)
看起来很难看,虽然有效:
(location = mock).should_receive(:build)
答案 2 :(得分:1)
如果您的每个测试都有模拟定义,则可以在文件开头使用 let 来缩短表示法。
let (:location) { double :location }
然后,每当您使用location
时,它会自动创建新的模拟对象:
location.should_receive(:build)