【发布时间】:2009-05-19 07:12:07
【问题描述】:
我正在尝试这样做,因此当通过创建的操作创建模型时,它会重定向到其显示操作。那部分工作正常,但我无法让我的功能测试正常运行。这些测试已根据脚手架提供的内容进行了修改。
def setup
@thing = Factory(:thing)
assert(@thing.id, "Virtual fixture not valid.")
end
def test_create_valid
Thing.any_instance.stubs(:valid?).returns(true)
post :create
assert_redirected_to @thing
end
我在设置中使用 factory_girl。当我运行我的测试时,我得到了这个:
预期的响应是重定向到 http://test.host/thing/2 但 被重定向到http://test.host/thing/3。
我在这个控制器中用我的更新操作做了一些非常相似的事情,测试看起来一样,但它有效。我对发生了什么感到有些困惑。
编辑:Maximiliano 在下面指出,这可能是因为这会在数据库中创建一条新记录,因此它会重定向到该记录。如何找到刚刚使用 create post 请求创建的新记录?
【问题讨论】:
标签: ruby-on-rails ruby testing