Как я могу использовать модули с мокко? Мои файлы m js получают ошибку - PullRequest
0 голосов
/ 21 января 2020

С общими 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:

Как исправить?

...