为什么我的功能测试失败了?

时间:2010-05-29 00:21:35

标签: ruby-on-rails unit-testing

我为我的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”的区域。所以现实是成功的,但测试失败了。

我无法问为什么会失败,因为我确定这里没有足够的信息供这里的任何人知道原因。我只是停留在知道哪些途径可以解决为什么测试失败。即使把代码放入代码也不要打印出来......

我可以采取哪些措施来追踪这一点?

2 个答案:

答案 0 :(得分:2)

根据上面的请求,并且匹配您在挖掘日志时发现的预期,您的授权在测试中无法满足。

答案 1 :(得分:1)

@request和@response也是有用的对象(即测试中的puts @response)。我不知道您使用的是哪种身份验证,但请检查RAILS_ROOT/lib authenticated_test_helper,或/lib/test身份验证gem。您将找到执行登录的方法。