私は通常、単体テストのカバレッジを提供するためにnycを使用しました。ES6 より前のテスト用のすべての honkey dorey require('myModule')
。ES6 インポートを使用する単体テストで問題が発生しています。カバレッジのないテストは、--experimental-modules
および .mjs ファイルで動作します。
パッケージ.json
"scripts": {
"test": "node --experimental-modules ./test/test.mjs",
... others deleted to save space
},
そして、すべてが機能します。それが重要かどうかをテストするためにテープを使用しています。出力は次のようになります。
(node:9360) ExperimentalWarning: The ESM module loader is experimental.
TAP version 13
# number
ok 1 should be equal
(... more deleted)
しかし、たとえば、nycを使用しようとするとnyc --reporter=lcov --extension .mjs npm test
エラーが発生します:
(node:7304) ExperimentalWarning: The ESM module loader is experimental.
Error [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension: C:/Users/Morgan/.node-spawn-wrap-6952-61a26e1bb867/node
at exports.resolve (internal/loader/ModuleRequest.js:126:13)
at Loader.resolve (internal/loader/Loader.js:48:40)
....
Windowsで実行されているノードバージョン8.9.1とnycバージョン13.0.1を使用しています。