В компоненте OnInit я получаю некоторые данные:
ngOnInit() {
this.userService.getUsers().subscribe(users => {
this.users= users.data;
});
}
В моих тестах я заглушаю эту службу:
const UserServiceStub = {
getUsers(): Observable<any> {
return of([{name: 'john doe'}, {name: 'jane doe'}]);
}
};
Я определяю провайдера:
providers: [ { provide: UserService, useValue: UserServiceStub } ],
Теперь я хочу проверить, что был выполнен вызов и что данные были установлены для элемента.
it('should be initialized with users', fakeAsync(() => {
const spy = spyOn(UserServiceStub, 'getUsers').and.callThrough();
}));
Похоже, я могу позвонить and.returnValue
, но я хочу, чтобы данныепришли из заглушки, и мне нужно установить свойство Users
моего компонента, чтобы я мог убедиться, что список в моем шаблоне обновлен.
Я не смог передать обратный вызов callThrough
, и я не сделалcallthough().apply()
полезно.
Как мне выполнить мою заглушку?