我正在node.js中的一个项目上进行合同测试 所以我想测试我的API请求和响应 这是我要测试的方法
import rp from 'request-promise';
const foo = async () : Promise<void> => {
await rp(options).then(resp => {
return resp;
})
}
在我的测试中,我要检查响应(将在运行测试时由契约提供) 问题是我不知道如何捕获此变量以进行检查... 我尝试使用间谍没有成功,而模拟将无济于事...
import requestPromise from "request-promise";
const response = jest.spyOn(requestPromise(options),"then")
await foo()
expect(response).toReturnWith({test:"test"})
我也试图在requestPromise()“ post”上监听 但没有结果
有没有办法对此进行测试?
答案 0 :(得分:0)
目前尚不清楚您要在这里尝试什么。您提到了Pact,但是在您的示例中没有使用它。
您为什么需要监视所有请求?只需从foo
本身返回一些信息(而不是void),然后对响应进行断言。
如果您使用的是Pact,它将为您执行所有http请求检查。并确保已发出请求。
然后您只对响应断言。