我正在尝试运行只有
的users_test.rb
文件
test "the truth" do
assert true
end
我确实有一张喜欢的桌子,但我仍然收到此错误。为什么这样?
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
➜ channelappnew rake db:test:clone
➜ channelappnew rake db:test:clone_structure
➜ channelappnew rake db:migrate
➜ channelappnew rake db:test:load
➜ channelappnew rake db:test:prepare
➜ channelappnew rake db:test:purge
➜ channelappnew ruby -Itest test/unit/user_test.rb
Loaded suite test/unit/user_test
Started
E
Error:
test_the_truth(UserTest):
ActiveRecord::StatementInvalid: Could not find table 'likes'
Finished in 0.058371 seconds.
1 tests, 0 assertions, 0 failures, 1 errors, 0 pendings, 0 omissions, 0 notifications
0% passed
17.13 tests/s, 0.00 assertions/s
谢谢!
答案 0 :(得分:50)
在测试前做rake db:test:prepare
答案 1 :(得分:5)
你运行rake db:migrate
了吗?
如果表存在,请检查数据库。如果您正在使用sqlite,请调用sqlite3 db/development.sqlite3
然后发出命令.schema
您可以手动删除数据库db/test.sqlite3
,然后使用rake db:setup
重新创建它。
答案 2 :(得分:2)
有时它是由多个版本的活动记录宝石引起的。请卸载除您的应用程序正在使用的宝石之外的所有宝石。我遇到了同样的问题,做了我说的话。它奏效了。
答案 3 :(得分:1)
你检查了你的灯具吗?我突然想到我修改了一个迁移但是夹具保持相同,因此导致错误。
答案 4 :(得分:0)
我遇到了同样的问题,并在db / schema.rb中找到了解决方案:
# Could not dump table "xxx" because of following StandardError
# Unknown type 'bool' for column 'yyy'
也许这有帮助!
除了这个schema.rb之外,“bool”在任何地方都有效,但是在开发模式下正确执行的迁移。