间谍响应返回为空


it('should inject acaQQService and run getQQFormData', inject(
[AcaQqService], (service: AcaQqService) => {
const resp: QuickQuoteEntity  = <QuickQuoteEntity><unknown>[];
spyOn(service, 'getQQFormData').and.returnValue(of(resp));
expect(resp).not.toBeNull();
console.log(resp);
}));

监视此服务调用时,数据返回为空。类型转换似乎不起作用。

请注意,spyOnspy安装到现有对象的方法上,但它不会调用该方法。因此,在方法AcaQqService.getQQFormData上安装间谍和调用expect之间,需要调用AcaQqService.getQQFormData

此外,您不会检查AcaQqService.getQQFormData(Observable(的结果,而是检查测试中定义的resp对象。为了完成这项工作,可以按如下方式重写。

spyOn(service, 'getQQFormData').and.returnValue(of(resp));
service.getQQFormData(...).subscribe(v => expect(v).toBe(resp));

然而,这样的测试没有意义,因为测试的方法被模拟了,因此不涉及服务的内部。

最新更新