我尝试运行这个最简单的单元测试:
I try to run this simplest unit test:
test "the truth" do assert true end像这样:
ruby -Itest test/unit/my_model_test.rb是文件中唯一的一个测试,实际上在整个站点)
(there is the only one test in the file, and actually in the whole site)
它失败了这个消息:
ActiveRecord::RecordNotUnique: SQLite3::ConstraintException: column email is not unique: INSERT INTO "users"... [some values to insert here]现在我有一个名为users的表,但除了我以前从未要求过的任何测试,我甚至没有这样的测试。这个错误来自哪里?如何运行我的测试?
now I do have a table named "users" but other than that I have never asked to do any tests on it nor do I even have such tests. Where does this error come from? How do I run just my test?
编辑:users表来自设计宝石,如果这有帮助
the "users" table comes from the devise gem if that helps
推荐答案从 guides.rubyonrails/ test.html
默认情况下,Rails将自动从您的设备的测试/夹具文件夹中加载所有夹具,功能测试。加载涉及三个步骤:
Rails by default automatically loads all fixtures from the test/fixtures folder for your unit and functional test. Loading involves three steps:
- 从与夹具相对应的表中删除任何现有数据
- 将夹具数据加载到表格中
- 将夹具数据转储到变量中,以防您要直接访问
所以我想你需要检查这些装置。另外我建议你阅读该教程。写得很好。
So I think you need to check those fixtures. Also I suggest you to read that tutorial. It is very well written.
更多推荐
导轨奇怪的单元测试失败
发布评论