と3.1マウントエンジン私はRailsの3.1エンジンを作り始めた、と私は苦労RSpecのを使用してテストを抱えています。テストRailsのRSpecの
まず第一に、私はrails g integration_test whatever
を実行する場合、それはテスト/統合の代わりに、仕様/要求に通常の統合テストを作成します(RSpecのレールの宝石がgemspecファイル内の開発の依存関係としてインストールし、必要とする)
また、仕様テストを実行すると、テストしているモデルに対応するテーブルが作成されていないとエラーが表示されます。私はrake engine_name:install:migrations
を試して、ダミーのアプリケーションの中からrake db:migrate
を実行して、 "テーブルは既に存在する"というエラーが出ます。
すべてがちょうど切断され、私はそれが通常のフルレールのアプリケーションと同じようにRSpecの宝石をシームレスに動作させるために、ここで何かが欠けてる感じらしいです。
私はここからhttp://rubyx.com/2011/03/01/start-your-enginesのすべての変更を踏襲し、http://railscasts.com/episodes/277-mountable-enginesのようにコンソールからダミーアプリを起動することで手動でエンジンをテストできます。
RSpecのにレール3.1エンジンをテストするためのデフォルトを作成する方法はありますか?
レール3.2ではいくつかの問題が解決されましたが、テストデータベースを移行する方法は常に忘れています。テストデータベースでマイグレーションを実行するには、gemのディレクトリで 'rake app:db:test:prepare'を実行してください。 – Andrew
この記事では問題なく問題を解決しました。 http://viget.com/extend/rails-engine-testing-with-rspec-capybara-and-factorygirl – jspooner