如何解决使用角度茉莉花测试获取请求返回未定义
我有一个简单的方法来构造一个随机网址,例如(https://wqwqw.com/121212 ) 121212是随机生成的。
hits
在我的考试中,我有
getCall(url) {
this.http.get(url)
}
我期望通话,但是由于url是随机的,所以我不知道它是什么,但是无论我说什么,它都说“期望1没有”。 const response = [{data:'string'}]
我不知道我在做什么错。
解决方法
您的期望检查将在执行service.getCall
之后立即执行,因此在可以定义res之前。您将需要确保测试检查在回调中运行(然后确保Jasmine测试在退出之前一直等到该回调完成),或明确指定要等待调用完成。
由于您已经为测试指定了异步函数,因此我建议使用await,这似乎也是Jasmine docs中的首选方式。
it('test get',async () => {
const res = await service.getCall('a').toPromise()
expect(res).toEqual(response)
const request = httpMock.expectOne('a') // errorr
request.flush(res)
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。