在我的控制器规范中,我是否有效?对于一些路由测试,(基于瑞安贝茨nifty_scaffold)如下: -有没有办法可以取消any_instance的Mocha桩?
it "create action should render new template when model is invalid" do
Company.any_instance.stubs(:valid?).returns(false)
post :create
response.should render_template(:new)
end
这是好的,当我在单独测试控制器。在我的型号中我也有以下内容
it "is valid with valid attributes" do
@company.should be_valid
end
再一次,当单独测试时,它可以正常工作。如果我为模型和控制器运行spec,问题就来了。模型测试总是失败,因为有效?方法已被剔除。有没有办法让我在控制器测试结束后删除any_instance的残根。
我已经通过以反向字母顺序运行测试来确保模型测试在控制器之前运行,但我真的不喜欢我的测试依赖于序列。
虽然解决方案是正确的,但解释不是。摩卡没有检测到RSpec,但是当按照所述设置RSpec配置时,RSpec在适当的点调用摩卡。 – 2010-09-26 19:33:12
更新了评论。谢谢@floehopper – 2010-09-26 22:02:24