`rake test`命令测试错误的模型

时间:2017-11-04 21:50:07

标签: ruby-on-rails ruby

我试图写一些测试。第一个非常简单,并测试资源在没有标题的情况下不会保存。运行rake test test/models/item_test.rb会出现此错误:

Run options: --seed 8410

# Running:

E

Finished in 0.027193s, 36.7740 runs/s, 0.0000 assertions/s.

1) Error:
ItemTest#test_should_not_save_item_without_title:
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "admin_users" does not exist
LINE 1: DELETE FROM "admin_users"
                ^
: DELETE FROM "admin_users"


1 runs, 0 assertions, 0 failures, 1 errors, 0 skips

我的测试代码是:

require 'test_helper'

class ItemTest < ActiveSupport::TestCase
 test "should not save item without title" do
  item = Item.new
  assert_not item.save
 end
end

为什么admin_users会陷入其中?在测试任何资源时会发生这种情况。

1 个答案:

答案 0 :(得分:1)

Rails生成器必须在test/fixtures目录中创建一个文件,该文件与数据库中的任何实际表都不对应,或者在删除模型时可能忘记删除一个文件:)无论如何,要解决问题请务必删除test/fixtures/admin_users.yml。这可能还需要删除其他自动生成的灯具。