Дождитесь завершения конструктора внедренного сервиса, прежде чем выполнять тесты в Karma 4 / Angular 7

Вам нужно использовать FindClassHInstance(), указав тип класса вашего компонента, вместо использования глобальной переменной HInstance или GetModuleHandle(). Таким образом, вы получаете правильный дескриптор модуля независимо от того, ставится ли пакет статически связан или динамически связан с основным исполняемым файлом.

1
задан NDDTConti 27 February 2019 в 16:08
поделиться

1 ответ

Конструктор объекта всегда будет выполняться первым. Если у вас там нет асинхронного кода.

Как вы упомянули в комментариях, это была проблема в вашем случае.

Чтобы дождаться завершения асинхронной проверки в вашем тесте, вы должны использовать fakeAsync и , отметьте

it('name of test', fakeAsync(inject([ Service], (hcs: Service) => {
    const pipe = new MyPipe(hcs);

    tick();

    const expectedResult = ...
    //Here the constructor of the hcs-service has to be completet, otherwise the Pipe fails
    const result = pipe.transform(...);
    expect(result).toEqual(expectedResult);
})));
0
ответ дан Arif 27 February 2019 в 16:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: