Насмешка над классом, созданным в целевом классе - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь написать тест Жасмин для функции класса, которая создает экземпляр объекта из другого класса и наблюдает за ним.Поскольку я хочу, чтобы этот тест содержался в первом классе, и имитировать различные сценарии второго, я хочу издеваться над вторым.Некоторый псевдокод может помочь

export class Foo {
    startProcessing() {
        const bar = new Bar();
        const sub = bar.tickTock.subscribe(
             state => { 
                     // something went right
                    },
             error => {
                    // something went wrong
                    }
            );
     }
}

. Я попытался объявить класс mock в моем тестовом файле и предоставить его с помощью атрибута TestBed.configureTestingModule providers, но он всегда использует исходный Bar.Как я могу написать тест, который предоставляет вместо фиктивного Bar класс, которым я могу управлять?

1 Ответ

0 голосов
/ 25 сентября 2019

Один из способов обойти эту проблему - передать объект типа Bar через параметр функции (внедрение зависимости).Таким образом, вы можете контролировать объект Bar.

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