以下是我的功能测试代码
def test_should_create_county
assert_difference('County.count') do
post :create, :county => {:name=>"myname",:description=>"mydesc",:region_id=>"3" }
end
assert_redirected_to county_path(assigns(:county))
端
端
我收到的错误信息是
29)失败: test_should_create_county(CountiesControllerTest)[/ test/functional/counties_controller_test.rb:16]: “County.count”没有改变1。 &LT 3的密度;预期但是 &LT 2 - ;
请帮忙
- Karthik.k 手机 - + 91-9894991640
答案 0 :(得分:0)
看起来未在create
操作中创建Country对象。没有足够的陈述来确定原因,但这里有一些常见的情况(按照最常见的顺序)。
在Country模型上查看您的验证,测试中给出的:country选项是否构成有效模型?如果不是,我建议using factories生成有效的模型属性。
如果验证不是问题,请在过滤器之前查看控制器,以确保不会在那里进行重定向。
您可能希望将assert_redirect
移到assert_difference
块中,这可能会产生更具描述性的错误。