如何在JS中测试嵌套的HTTP请求

时间:2018-10-17 19:21:13

标签: javascript express ecmascript-6 web-api-testing

我正在使用一个使我有3秒钟响应时间的外部API-为避免超时,我准备立即发送200响应后,立即响应200,然后再次点击该API(API给了我response_url,我可以用它来发出请求30分钟)。

不幸的是,这使我的代码难以测试。我不知道如何检测第二个请求是否正在发生以及它是否具有正确的数据。

这是我的终结点处理程序:

const handler = (payload, response) => {
// Respond with 200 right away to avoid timeout
response.status(200).end()

getData.then((data) => {
    const responseURL = payload.response_url

    const options = {
        method: 'POST',
        uri: responseURL,
        json: true,
        headers: {
            'content-type': 'application/json'
        },
        body: data
    }

    request(options).catch((err) => {
        console.log(err.error)
    })
})

}

如果我没有立即响应200,我将使用chai测试端点,并确保响应具有所有正确的字段。现在,我不知道如何测试包含我关心的实际数据的第二个请求。

有什么办法可以“观察”第二个端点并在第二个端点被击中时得到通知,以便我可以检查数据?

0 个答案:

没有答案