У меня есть личный Subject
attributeNameSubject . Существует метод setAttributeName , который передает строковое значение субъекту. Мы получаем ссылку на эту тему, используя getAttributeName . Я пытаюсь проверить приведенный выше код, но я всегда получаю ложноположительный результат , то есть тест проходит успешно, но я получаю тест без ожидания предупреждение. Оказывается, это вовсе не вызов метода подписки.
Я тестирую этот код на Angular 7.
private readonly attributeNameSubject = new Subject<string>();
get getAttributeName(): Subject<string> {
return this.attributeNameSubject;
}
setAttributeName(value: any) {
this.getAttributeName.next(value.attributeName);
}
it('should set attribute name on valid input', () => {
service = TestBed.get(AttributeService);
service.setAttributeName('some random string');
service.getAttributeName.subscribe((data: string) => {
expect(data).toEqual('some random string');
});
});