尝试通过开玩笑的​​方式在即发即弃方法中窥探响应

时间:2020-07-23 05:01:43

标签: node.js jestjs pact

我正在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”上监听 但没有结果

有没有办法对此进行测试?

1 个答案:

答案 0 :(得分:0)

目前尚不清楚您要在这里尝试什么。您提到了Pact,但是在您的示例中没有使用它。

您为什么需要监视所有请求?只需从foo本身返回一些信息(而不是void),然后对响应进行断言。

如果您使用的是Pact,它将为您执行所有http请求检查。并确保已发出请求。

然后您只对响应断言。