0

私は何か簡単なことをしようとしていますが、うまくいきません..私は愚かなことをしているに違いありません。

コード カバレッジ + 単体テストのためにイスタンブールと 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

テスト ケースが存在するディレクトリ (またはサブディレクトリ) にないファイルをイスタンブールに計測させる方法はありますか? 私が犯している単純な間違いは何ですか?

乾杯!

4

0 に答える 0