Обычно я использовал Нью-Йорк , чтобы обеспечить покрытие для моих модульных тестов.Все хонки дорей для тестов перед ES6 require('myModule')
.У меня проблемы с его настройкой для работы с юнит-тестами, использующими импорт ES6.Тесты без покрытия работают с --experimental-modules
и файлами .mjs:
package.json
"scripts": {
"test": "node --experimental-modules ./test/test.mjs",
... others deleted to save space
},
И все работает.Я использую Tape для тестирования, если это имеет значение.Вывод выглядит так:
(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)
....
Я использую узелверсия 8.9.1 и nyc версия 13.0.1, работающие в Windows.