是否可以使用实际的响应而不是模拟响应来对http.get
调用进行单元测试?
...
export class CarService{
...
getCars():Observable<any>{
return this.http.get("http://someurl/cars").map( res => res.json() );
}
...
}
单元测试:
it('retrieves all the cars', injectAsync( [CarService], ( carService ) => {
return carService.getCars().toPromise().then( (result) => {
expect(result.length).toBeGreaterThan(0);
} );
}) );
它将执行http.get
调用,并暂停几秒钟,然后返回以下错误:
错误:超时-在jasmine指定的超时内未调用异步回调。DEFAULT_TIMEOUT_INTERVAL。
2条答案
按热度按时间1tuwyuhd1#
单元测试中的依赖关系应该去掉。单元测试,顾名思义,应该测试单元,而不是它的依赖项。
evrscar22#
它的工作原理是在beforeEachProviders中添加下面的代码段-
这将删除超时错误,您可以测试来自API的实际动态响应。