rails奇怪的单元测试失败

时间:2011-11-26 15:21:25

标签: ruby-on-rails ruby devise

我尝试运行这个最简单的单元测试:

   test "the truth" do
     assert true
   end
像这样:

ruby -Itest test/unit/my_model_test.rb

(文件中只有一个测试,实际上在整个网站中)

它失败并显示以下消息:

ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: column email is not unique: INSERT INTO "users"... [some values to insert here]

现在我有一个名为“用户”的表,但除此之外,我从未要求对其进行任何测试,我甚至没有这样的测试。这个错误来自哪里?我该如何运行我的测试?

编辑:“用户”表来自设计宝石,如果这有帮助

1 个答案:

答案 0 :(得分:10)

来自http://guides.rubyonrails.org/testing.html

  

默认情况下,Rails会自动加载所有灯具   您的单元和功能测试的test / fixtures文件夹。载入中   涉及三个步骤:

     
      
  • 从与灯具相对应的表格中删除所有现有数据
  •   
  • 将灯具数据加载到表格中
  •   
  • 将灯具数据转储到   如果您想直接访问它,请使用变量
  •   

所以我认为你需要检查那些灯具。另外我建议你阅读那个教程。写得很好。