在我的控制器规格中,我是否有效?对于一些路由测试,(基于 Ryan Bates nifty_scaffold)如下:-
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
当单独测试时,这再次工作正常。如果我为模型和控制器运行规范,就会出现问题。模型测试总是失败为有效?方法已被淘汰。当控制器测试被拆除时,我有没有办法删除 any_instance 的存根。
我通过以相反的字母顺序运行测试来解决这个问题,以确保模型测试在控制器之前运行,但我真的不喜欢我的测试依赖于序列。