Выполнение теста Мокко на модуле AMD - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь выполнить модульное тестирование с 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);
...