1

例を実行する前にrspecにRailsを再起動するよう指示することはできますか?私は、Rails初期化プロセスにフックするエンジンを構築しています。ユーザーは、Railsとエンジンの構成に影響を与える初期設定でいくつかの構成変更を行うことができます。これらの設定変更をシミュレートし、レールを再起動して結果をテストできるようにしたい。例を実行する前にRSpecにRailsを再起動するように指示するには?

+0

以下を参照してください。実用的な答えではありませんが、あなたが解決策に到達するのに役立つことを願っています。問題がある場合は、試した内容に関する詳細を追加してください。 –

答えて

1

私はまだこの偉業を行っていないが、ベストプラクティスとして、私はあなたのエンジンのテストはエンジンの一部であるべきと最小限の依存関係を持つべきだと思います。

私が見て、あなたがしようと組み合わせるべきだと考えてきたいくつかのアプローチ:

  1. モックあなたのエンジンをテストするminimal parent rails app
  2. multiple dummy apps to test withを書きます。代わりに、全体のRailsアプリケーションをロードする
  3. 、することもできますsmaller partssplit spec_helper and rails_helpergaining in setup time
  4. あなたはcustom rake tasks to switch environment before spawning a new test threadを書くことができます。
  5. また、実行時に、あなたのテストに反映した設定値を上書き(プラス:dependency injectionを使用!)することができます。
  6. あなたの初期化が十分に複雑である場合は、あなたの可能性extract it in a testable helperwire it up in your test initializers
  7. また、そのための宝石があるようです:Combustion
+0

ありがとうございました。ここにいくつかの素晴らしい提案があります。 – CodeSmith

関連する問題