Как ссылаться на неинициализированную глобальную переменную в тесте? - PullRequest
0 голосов
/ 17 марта 2020

Я пытаюсь выполнить модульное тестирование некоторого моего кода, но мой код относится к этой библиотеке, к которой у меня нет прямого доступа. Мой код будет иметь доступ к нему при запуске, но не во время компиляции. В этом примере код библиотеки называется setup. Я не использую webpack или что-то еще, просто узел TS.

код продукта:

declare let setup: any;

setup.rest = (): void => { // this signature can't change

}

код теста:

import "jasmine";

describe("App", () => {
    beforeEach(() => {
        setup = {};
    })

    it("should have a rest function", () => {
        setup.rest();
    });
});

Я использую Жасмин в качестве тестового бегуна. Когда я запускаю свои тесты, я получаю эту ошибку:

ReferenceError: установка не определена

Как мне получить мой тест для инициализации этой переменной setup и предоставления к ней общего доступа с моим рабочим кодом?

1 Ответ

0 голосов
/ 18 марта 2020

если я понимаю, вы хотите инициализировать функцию super

вы можете добавить ее шпион.

const setupSpy = TestBed.get(setup);
setupSpy.rest.and.returnValue(add here object/variable to return)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...