rails奇怪的单元测试失败

Yar*_*veh 1 ruby ruby-on-rails devise

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

   test "the truth" do
     assert true
   end
Run Code Online (Sandbox Code Playgroud)

像这样:

ruby -Itest test/unit/my_model_test.rb
Run Code Online (Sandbox Code Playgroud)

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

它失败了这条消息:

ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: column email is not unique: INSERT INTO "users"... [some values to insert here]
Run Code Online (Sandbox Code Playgroud)

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

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

Zol*_*azs 10

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

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

  • 从与夹具对应的表中删除任何现有数据
  • 将夹具数据加载到表中
  • 将夹具数据转储到变量中,以防您想直接访问它

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