У меня есть следующий набор тестов ...
import Mocha from 'mocha';
import path from 'path';
const __dirname = path.dirname(new URL(import.meta.url).pathname);
(()=>{
let mocha = new Mocha();
mocha.addFile(path.resolve(__dirname,'./tests/sampleTest.js'));
mocha.run(failures => {
console.log("Running Mocha");
process.on('exit', () => {
console.log("Ending Mocha");
process.exit(failures ? 1 : 0);
});
});
})();
И следующий тестовый файл ...
const assert = require('assert');
describe('Array', function() {
describe('#indexOf()', function() {
it('should return -1 when the value is not present', function() {
assert.equal([1,2,3].indexOf(4), -1);
});
});
});
Это прекрасно работает, однако я хочу преобразовать его в модуль JS (.mjs), чтобы я мог импортировать другие модули в тесте. Я пытаюсь сделать это, изменив расширение и сделав код ...
import assert from 'assert';
describe('Array', function() {
describe('#indexOf()', function() {
it('should return -1 when the value is not present', function() {
assert.equal([1,2,3].indexOf(4), -1);
});
});
});
Когда я запускаю это, я получаю ...
Must use import to load ES Module: **/src/test/js/webdriver/tests/sampleTest.mjs
Я тоже пытался просто импортировать его вот так ...
import Mocha from 'mocha';
import path from 'path';
import './tests/sampleTest.mjs';
const __dirname = path.dirname(new URL(import.meta.url).pathname);
(()=>{
let mocha = new Mocha();
// mocha.addFile(path.resolve(__dirname,'./tests/sampleTest.mjs'));
mocha.run(failures => {
console.log("Running Mocha");
process.on('exit', () => {
console.log("Ending Mocha");
process.exit(failures ? 1 : 0);
});
});
})();
Но тогда я получаю ...
ReferenceError: описание не определено
я тоже пробовал
import mocha from "mocha"
...
mocha.describe(...)
Но это тоже не сработало.
Как загрузить другой модуль в мокко?