我正在尝试使用Mocha在AMD模块上进行单元测试。但是,当我尝试运行测试时,得到的错误为“ TypeError:无法读取未定义的属性” utility”。
我查看了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'”,这似乎来自
utility.set(setValue);