gpt4 book ai didi

reactjs - 如何在 react 测试库中暂停模拟服务工作人员以测试中间状态?

转载 作者:行者123 更新时间:2023-12-03 08:09:42 24 4
gpt4 key购买 nike

我正在使用 MSW(模拟服务工作人员)通过 react 测试库来模拟我的 react 测试中的 HTTP 响应。但是,在某些 react 组件中,我有一些加载状态,直到响应完成为止。

为了测试中间加载状态,有没有办法暂停正在进行的 Service Worker API 并进行一些测试(这样可以保证测试的一致性),然后继续进行进一步的测试?

最佳答案

首先,使用 React 测试库很可能意味着您正在谈论 Node.js 中的测试。 Node.js 中没有 Service Worker API,因此我们可以放弃工作线程来解决您的用例。

似乎没有实际需要暂停请求来实现您想要的目的。请注意,大多数测试框架都会立即执行断言,一旦底层代码匹配(即您的 UI 处于加载状态),您就不会遇到任何获取断言的问题。添加仅需 100 毫秒 delay您的响应足以让 Jest 看到存在加载状态并将断言标记为已通过:

it('displays the loading state', () => {
server.use(
rest.get('/resource', (req, res, ctx) => {
return res(ctx.delay(100), /* the rest of the mocked response */)
})
)

render(<YourComponent />
// ...assert the loading state of the UI.
})

尝试一下这种方法,如果您有任何问题,请告诉我。

关于reactjs - 如何在 react 测试库中暂停模拟服务工作人员以测试中间状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71182668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com