С общими js и использованием require()
для. js файлов и командой
mocha `**/*.spec.js`
Файлы:
capitalize.js
test/capitalize.js
мои тесты запускаются
Вывод:
mocha
Capitalize sentences
✓ calls the function
✓ calls the function
✓ calls the function
✓ Works for a second sentence
✓ Handles 3 dots
✓ Handles existing capitalization dots
✓ Preserves existing last dot
✓ Preserves carriage returns ("\n")
Я хочу использовать модули ES6. Поэтому я:
- изменил оба расширения файла на `. js с .m js
изменил файл, который я запущен (тест) с
export function capitalize(paragraph) {
до
exports.capitalize = function(paragraph) {
измененный файл, который я включаю с
export function capitalize(paragraph) {
до
exports.capitalize = function(paragraph) {
Однако Мокко не распознает мои тесты, и я получаю
Error: No test files found: "**/*.spec.js"
// Не слишком удивительно, учитывая, что я изменил расширения файлов
Если я теперь изменил package.json
с
"test": "mocha **/*.spec.js"
до
"test": "mocha **/*.spec.mjs"
Я получаю
$ mocha Ошибка: тестовые файлы не найдены
непосредственно из mocha или с npm test
Я получаю
Error [ERR_REQUIRE_ESM]: Must use import to load ES Module:
Как исправить?