23

私はusers_test.rbちょうど持っているファイルを実行しようとしています

test "the truth" do
     assert true
   end

likeテーブルがありますが、それでもこのエラーが発生します。なぜそうなのか?

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

ありがとう!

4

5 に答える 5

54

テストする前にrake db:test:prepare

于 2012-05-09T17:52:03.057 に答える
5

走ったことがありますrake db:migrateか?テーブルが存在するかどうかデータベースを確認してください。sqliteを使用している場合は、sqlite3 db/development.sqlite3コマンドを呼び出して発行します。.schema データベースを手動で削除db/test.sqlite3してから、を使用して再作成できますrake db:setup

于 2011-10-01T02:40:10.560 に答える
2

アクティブなレコードgemの複数のバージョンが原因で発生する場合があります。アプリケーションが使用しているものを除くすべてのgemをアンインストールしてください。私は同じ問題に直面し、私が言ったことと同じことをしました。機能した。

于 2012-11-19T07:39:12.733 に答える
2

備品をチェックしましたか?移行を変更したのですが、フィクスチャが同じままだったため、エラーが発生しました。

于 2011-10-01T02:26:55.353 に答える
0

私はちょうど同じ問題を抱えていて、db /schema.rbで解決策を見つけました:

# Could not dump table "xxx" because of following StandardError
#   Unknown type 'bool' for column 'yyy'

多分これは役立ちます!

「bool」は、このschema.rbを除いてすべての場所で機能しましたが、移行は開発モードで正しく実行されました。

于 2012-02-14T08:39:23.443 に答える