Я пытаюсь выполнить модульное тестирование с Mocha на модуле AMD.Но когда я пытаюсь запустить тест, я получаю сообщение об ошибке «TypeError: Невозможно прочитать свойство« Утилита »из undefined».
Я смотрел на другие решения от StackOverflow, но все равно получаю ошибку.
Test.js
'use strict';
const { expect } = require('chai');
var requirejs = require('requirejs');
var path = require('path');
var projectdirectory = path.resolve(__dirname, '..');
requirejs.config({
nodeRequire: require,
paths: {
'utility': projectdirectory + '/utility'
}
});
describe('BEFORE TEST ', function () {
var utility;
beforeEach((done) => {
requirejs(['utility/utility'], function (_Module) {
utility = _Module;
done();
});
});
describe('#1 Run Test:', function () {
it('Main.test', function () {
console.log(utility);
const setValue = 'dummy';
utility.set(setValue);
expect(setValue).to.deep.equal(utility.utility.get());
});
});
});
В utility.js
define("resources/js/utility/utility", function() {
return {
'user': '',
'get': function () {
return this.user;
},
'set': function (data) {
this.user = data;
},
};
});
Это утешает ошибку как «TypeError: Невозможно прочитать свойство 'set' of undefined", которое, кажется, исходит от
utility.set(setValue);