JSユニットテストについて2つの質問があります。
1)特定のファイルが変更されたときにjavascriptユニットテストを自動的に実行できるツールはありますか(たとえば、nodemonはjsの変更時にnode.jsを再起動します)。
2)この戦略はユニットテストを実行するための適切な(効率的な)方法ですか?
ありがとう、アレックス
JSユニットテストについて2つの質問があります。
1)特定のファイルが変更されたときにjavascriptユニットテストを自動的に実行できるツールはありますか(たとえば、nodemonはjsの変更時にnode.jsを再起動します)。
2)この戦略はユニットテストを実行するための適切な(効率的な)方法ですか?
ありがとう、アレックス
nodemonの使用に取り組んでいる人nodemon -x "npm test"
のために、私のために働いてきました。
nodemon --help
言う:
-x, --exec app ........... execute script with "app", ie. -x "python -v".
この場合npm test
、package.jsonを構成してテストを実行するように設定されています
例えば:
"scripts": {
"test": "mocha"
},
jestを使用する場合、nodemonは必要ありません。test
次のように、 scriptコマンドをjest --watchAll
package.jsonに設定するだけです。
"scripts": {
"test": "jest --watchAll"
}
gruntビルドシステムと監視タスクを確認してください。gruntをセットアップしてファイルの変更を監視し、必要なタスク(テスト、lint、コンパイルなど)を実行できます。
https://github.com/cowboy/grunt
このチュートリアルでは、いくつかのアイデアについて説明します。http://javascriptplayground.com/blog/2012/04/grunt-js-command-line-tutorial
これが私のpackage.jsonのスニペットです:
"scripts": {
"develop": "nodemon ./src/server.js --watch src --watch __tests__ -x \"yarn run test\"",
"test": "mocha ./__tests__/**/*.js --timeout 10000" }
develop
スクリプトは、エクスプレスサーバー(エントリ:)を実行し、すべてのサーバー/ APIコードを含むディレクトリを監視し、すべての仕様として、再起動/実行する前に囲まれたステートメントを実行するようにnodemonに指示するディレクトリを./src/server.js
監視するコマンドラインです。と/src
/__tests__
-x \"yarn run test\"
yarn run test
と違いはありませんnpm run test
。パーツがあなた次第になるように、私はnpmよりも糸を好みます。重要なのは\"
JSON値内のタグです...それがないと、引数が正しくトークン化されないため失敗します。
この設定により、サーバー/ APIコードまたは仕様の書き込み/修正のいずれかから変更をトリガーし、nodemonを介してサーバーを再起動する前に完全なテスト実行をトリガーできます。
乾杯!