簡単な背景です。Cucumber.js を使用して Express/Node アプリで BDD を実行しようとしています。これは Rails で非常にうまく機能するので、同じフレームワークを維持したかったのです。私の問題は、テストを実行するには、サーバーを手動で起動する必要があることです。
たとえば、私のテスト/シナリオでは、ゾンビ モジュールの browser オブジェクトを使用してページにアクセスしました。this.browser.visit(path, function(){ ... });
これを機能させるには、cucumber.jsを実行する前に、常にnpm startまたはnode app.jsを実行する必要があります。テストを実行する前に手動で起動するのではなく、コマンド ラインから cucumber.js を呼び出してテストを実行するときにサーバーが起動するようにしたいと考えています。
私の失敗した試み:
Cucumber + Makefile を使用したサンプル Express アプリ
上記のリンクは、Makefile を使用して Node.js サーバーを起動し、テストを実行するサンプル リポジトリです。そのファイルをコピーして編集して自分のプロジェクトで使用しようとしましたが、エラーが発生し続けます。
{ [Error: connect ECONNREFUSED] code: 'ECONNREFUSED', errno: 'ECONNREFUSED', syscall: 'connect' }
サーバーを手動で実行してから Makefile を実行すると、テストが機能します。
Grunt.js
理想的には、Grunt を使用してテストを管理したいのですが、同じ問題が発生しています。grunt-cucumber をいじり始めましたが、テストを実行する前にサーバーを起動するオプションがありません。