在AMD模块上运行Mocha测试

时间:2019-07-05 07:30:07

标签: node.js requirejs mocha amd

我正在尝试使用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);

0 个答案:

没有答案