我为我的rails应用程序生成了一些脚手架。
我正在运行生成的测试,但它们都失败了。
例如
test "should create area" do
assert_difference('Area.count') do
post :create, :area => { :name => 'area1' }
end
assert_redirected_to area_path(assigns(:area))
end
此测试未能说:
1)失败: test_should_create_area(AreasControllerTest) [/test/functional/areas_controller_test.rb:16]: “Area.count”没有改变1. 3。 预期但是< 2>。
模型中只有一个字段:名称。我正在填充这个因此我不能填充唯一的字段。
我可以运行该网站并创建一个名为“area1”的区域。所以现实是成功的,但测试失败了。
我无法问为什么会失败,因为我确定这里没有足够的信息供这里的任何人知道原因。我只是停留在知道哪些途径可以解决为什么测试失败。即使把代码放入代码也不要打印出来......
我可以采取哪些措施来追踪这一点?
答案 0 :(得分:2)
根据上面的请求,并且匹配您在挖掘日志时发现的预期,您的授权在测试中无法满足。
答案 1 :(得分:1)
@request和@response也是有用的对象(即测试中的puts @response
)。我不知道您使用的是哪种身份验证,但请检查RAILS_ROOT/lib
authenticated_test_helper
,或/lib
或/test
身份验证gem。您将找到执行登录的方法。