Контроллер не получает фиктивную функцию из оконного объекта, вместо этого он использует свою собственную функцию - PullRequest
0 голосов
/ 08 января 2019

Мой код контроллера использует метод lodash debounce. Для модульного тестирования у меня есть свой собственный метод мошеннического debounce, определенный в моем spec-файле для объекта window. Пока тест выполняется, код контроллера использует собственную ссылку lodash вместо моего поддельного отката, что приводит к сбою в соответствующем модульном тесте.

//This is my mocked definition in my spec file.

var _ = window._;
beforeEach(function () {
        _.debounce = function (func) {
            return function () {
                func.apply(this, arguments);
            };
        };

//This is my controller code.

var _ = require('lodash');
_.debounce(somefunc,1000);

Файл контроллера использует свой собственный локальный _ var для ссылки на debounce вместо того, чтобы собирать фиктивный debounce, определенный в spec-файле.

Ожидаемый результат: мой файл контроллера будет использовать фиктивный lodash вместо фактического определенного lodash.

PS: Изначально все работало нормально, когда я разделил основной пакет json на два отдельных файла package.json для корневого каталога и один для клиентского каталога, это не удалось. Я не нахожу никакой связи между выполненной задачей и достигнутым результатом.

Любая помощь? Заранее спасибо.

...