【发布时间】:2011-09-07 21:49:02
【问题描述】:
如果传入了正确的参数,我有几种方法可以查询数据库,并且正在尝试找到测试它们的最佳方法。
此时我正在使用 stub_chain,但感觉这与实现密切相关,如果我更改搜索,它将破坏测试。 这是查询:
def query
self.users.active.find_by_name("john")
end
我这样测试它:
client.stub_chain(:users, :active, find_by_name).and_return([mock_model("User")])
client.query.should_not be_blank
这很有效,也可以在没有存根的情况下调用查询并检查返回是数组还是空数组,但这些似乎都不是最优的。就像现在一样,我基本上只是在测试我是否做出了这个确切的调用。
【问题讨论】:
标签: ruby-on-rails activerecord rspec mocking factory