Проблема в том, что вы в настоящее время предоставляете заглушку своей службы без настроенного возврата для метода GetEmployees
. Это означает, что как только компонент вызовет предыдущую функцию и подпишется на ее (неопределенное) возвращение, он вызовет исключение.
Чтобы решить эту проблему, вам нужно подделать возврат этого метода. На основании этого ответа вы можете попробовать это следующим образом:
import {of} from 'rxjs';
...
mockDataService = jasmine.createSpyObj(DataService.Name, {'GetEmployees': of(EMPLOYEES)});
...
UPDATE:
Для того, чтобы это работало, вам придется реорганизовать свой метод DataService.GetEmployees
, чтобы иметь следующую подпись:
GetEmployees(): Observable<Employee[]>;
Текущая реализация DataService.GetEmployees
представляет собой негерметичную абстракцию , поскольку она возвращает необработанный Response
объект из старого Http
API, заставляя потребителя (в данном случае компонент) знать подробности о базовой реализации (эта деталь использует data.json() as Employee[]
)