我在角度4中提供了此服务,为此我试图编写一些单元测试。
@Injectable()
export class IcdLookUpService {
constructor(private http: CustomHttpService, private urlProviderService: UrlProviderService) {
}
getHraIcdLookup(hraId: number): Promise<ApiResponse> {
let url = ("api/hra/{0}/icdlookup/triggers").format(hraId.toString());
return this.http.get(this.urlProviderService.buildServiceUrl(url)).toPromise().then((response: any) => {
let data = response.json();
return data;
});
}
}
我编写了一个单元测试来测试此服务:
it('should be OK when returning no data', () => {
let response = new Response(new ResponseOptions({ status: 200, body: {} }));
backend.connections.subscribe((c: MockConnection) => c.mockRespond(response));
icdLookUpService.getHraIcdLookup(0)
.then((data: any) => {
expect(data).toBeDefined();
});
});
但是我遇到了错误
IcdLookUpService Test
getHraIcdLookup(hraId: number)
× should be OK when returning no data
HeadlessChrome 71.0.3578 (Windows 10.0.0)
TypeError: "api/hra/{0}/icdlookup/triggers".format is not a function
at IcdLookUpService.getHraIcdLookup (webpack:///src/app/hra-form/shared/services/icd-look-up.service.ts:20:53 <- config/spec-bundle.js:134003:9174)
请帮助