【发布时间】:2020-11-21 12:30:33
【问题描述】:
Karma 再次让我感到困惑。这就是测试的样子,我在afterEach(..) 中调用httpMock.verify()。错误信息是Error: Timeout - Async function did not complete within 5000ms。
it('search user service should send GET request and return data', (done) => {
let filter = '?filter=hans'
inject([HttpTestingController, SearchUserService],
(httpMock: HttpTestingController, service: SearchUserService) => {
service.findUser(filter).subscribe(data => {
expect(data).toBeTruthy();
done();
});
const req = httpMock.expectOne(`http://localhost:8080/api/rest/frontend/user${filter}`)
expect(req.request.method).toEqual('GET')
req.flush({
data:
{
..
}
});
})
});
findUser() 函数返回一个Observable<any>。这里有什么问题?
【问题讨论】:
标签: angular asynchronous testing karma-runner