私は何か簡単なことをしようとしていますが、うまくいきません..私は愚かなことをしているに違いありません。
コード カバレッジ + 単体テストのためにイスタンブールと Mocha を使用しています。
テスト中のコードでは、require
'd' されているモジュールの関数を使用しています。これらのインポートされたモジュールをコード カバレッジに含めたいのですが、そうではありません。
からのライブラリをrequire
フルパスで明示的に含めています(テストケースが存在する場所と同じディレクトリではありません)
var d = require(srcroot + '/scripting/wf_daemon/daemon_lib');
その後、テストケースはそのモジュール内の関数を呼び出していますstartWorkFlow
。
d.startWorkflow(workflow, function (msg) { // do something })
ただし、Istanbul は参照されている関数startWorkFlow
には入りません。テスト ファイルのカバレッジのみを提供します。
私が必要としているrequire
のは、テスト ケースによって作成されたモジュールからすべての機能に拡張するためのコード カバレッジです。
私はイスタンブールを次のように呼んでいます。
istanbul cover --include-all-source --dir C:\Build\buildarea --print none "C:\Program Files\nodejs\node_modules\mocha/bin/_mocha" -- --reporter mocha-teamcity-reporter ./test.js
テスト ケースが存在するディレクトリ (またはサブディレクトリ) にないファイルをイスタンブールに計測させる方法はありますか? 私が犯している単純な間違いは何ですか?
乾杯!