在Angular 2中单元测试返回Observable结果的服务的正确方法是什么?假设我们在CarService服务类中有一个getCars方法:
...
export class CarService{
...
getCars():Observable<any>{
return this.http.get("http://someurl/cars").map( res => res.json() );
}
...
}
Run Code Online (Sandbox Code Playgroud)
如果我尝试按以下方式编写测试,我会收到警告:"SPEC没有预期":
it('retrieves all the cars', inject( [CarService], ( carService ) => {
carService.getCars().subscribe( result => {
expect(result.length).toBeGreaterThan(0);
} );
}) );
Run Code Online (Sandbox Code Playgroud)
使用injectAsync并没有帮助,因为就Promise我所见,它可以与对象一起使用.