1

MANE (Node + Express + Mongo + Angular) アプリを開発しています。
開発中、私は現在、次のpackage.jsonようなファイルを使用しています。

"scripts": {
    "start": "nodemon ./bin/www",
    "test": "mocha",
}

それで、私が開発を始めるとき。を実行npm startし、ソースの監視をnodemon開始し、何か変更があった場合にエクスプレス サーバーを再起動します。
テストを実行したい場合は、 を実行するnpm testと、mocha テストが完了します。
ルートのテストも必要なので、npm start(ターミナル ウィンドウで) 実行し、次にnpm test(2 番目のターミナル ウィンドウで) 実行する必要があります。
ここまでは順調ですね。
しかし、変更ごとにテストを再実行したい場合はどうすればよいでしょうか?
私はこのようなことを試しました:

"scripts": {
    "start": "npm run test && nodemon ./bin/www",
    "test": "mocha",
}

しかし、これは機能しません。テストが完了したときにノードモンがまだ開始されていないため、次のエラーが発生します。

 Uncaught AssertionError: expected [Error: connect ECONNREFUSED 127.0.0.1:3000] to deeply equal null

一方、nodemon ./bin/www && npm run testnodemod がブロックしているため、コマンド ( ) の順序を逆にすることはできません...

この「難問」を解決する方法の手がかりはありますか?

4

0 に答える 0