我有一个非常简单的服务调用和一个茉莉花测试。
服务电话:
myServiceCall(testId: number) : void {
const url = `${this.url}/paramX/${testId}`;
this.http.put(url, {},{headers: this.headers}).subscribe();
}
我的测试方法:
it('should call myServiceCall', inject([MyService], (service: MyService) => {
let testId = undefined;
service.myServiceCall(testId);
let req = httpMock.expectOne(environment.baseUrl + "/paramX/123");
expect(req.request.url).toBe(environment.baseUrl + "/paramX/123");
expect(req.request.body).toEqual({});
req.flush({});
httpMock.verify();
}));
我当然得到一个例外,因为我希望 url 参数是“123”,而不是像在这个测试用例场景中那样未定义。
错误:预期有一个对条件“匹配 URL: http://localhost:8080/myservice/paramX/123 ”的匹配请求,但没有找到。
我不明白的是为什么测试框架说
没有找到
尽管提出了请求。是否有可能让测试框架告诉我进行了哪些其他实际调用,类似于 mockito 的验证?