にアクセスしてブラウザーでテストを実行するlocalhost:4200/tests
と、テストはテスト サーバー API にアクセスできます。
ただし、(testem を使用して) CI モードでテストを実行する場合、テスト サーバー API にはアクセスできません。
これを実現する方法はありますか?
詳細
ember-cli を使用して生成されたプロジェクトでは、それが実行するサーバー (Express を使用する NodeJ) を拡張できます。の手順を参照してください/server/index.js
。このコマンドを実行した後:
ember serve
... このサーバーは のコンテンツを提供していますlocalhost:4200
。localhost:4200/api
アプリをブラウジングするときに、 で提供されるすべての API リクエストに応答するサーバーを作成しました。
ブラウザーで実行されるテストにlocalhost:4200/tests
アクセスすると、これらの API にアクセスでき、問題なく実行できます。
ただし、サーバーを強制終了し、次のコマンドを使用して CI モード (testem) でテストを実行すると、次のようになります。
ember test
... ember アプリは PhantomJs を使用してヘッドレス モードで実行されますが、アプリは API にアクセスできず、ほとんどのテストが失敗します。
テストの実行を開始するときにサーバーを実行したままにしても、同じことが起こります。
Sinon や mockjax のようなものを訴えて、テスト自体の中で API リクエストをモックするのが慣習であることを理解しています。ただし、それはテストサーバーに既にあるものと重複するため、避けたいと思います。テストを CI モード (testem を使用) で実行し、テスト サーバーにアクセスする方法はありますか?