TypeError:String.format不是函数

时间:2019-01-14 11:13:03

标签: javascript angular string typescript jasmine

我在角度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)

请帮助

0 个答案:

没有答案