如何在React中的传奇文件中测试参数?

发布于 2025-01-17 14:18:14 字数 401 浏览 0 评论 0原文

我正在尝试为一个简单的传奇代码片段编写单元测试。每当我运行任何测试时,我都会收到一条消息,提示“无法读取未定义的属性‘param’”。

const { param } = yield take(action.FETCH_ACTION)

我预计这是因为我编写的任何测试都没有分配参数。

我尝试测试这一点的一个例子是:

expect(generator.next().value).toEqual(take(actions.FETCH_ACTION))

在我在动作创建器中添加此参数之前,这对我来说工作得很好。但现在我尝试使用此参数,我需要将其包含在其余的测试中。

如何编写一个可以正确分配此参数值并在即将进行的测试中使用它的单元测试?

I am trying to write a unit test for a simple saga code snippet. Whenever I run any test I just get a message saying 'cannot read property 'param' of undefined.

const { param } = yield take(action.FETCH_ACTION)

I expect this is because the param is not getting assigned through whatever test I write.

An example of how I am trying to test this is:

expect(generator.next().value).toEqual(take(actions.FETCH_ACTION))

This was working fine for me before I added this parameter in my action creator. But now that I am trying to use this parameter I need to include it in the rest of my tests.

How can I write a unit test that can correctly assign this param value and use it in upcoming tests?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情绪 2025-01-24 14:18:14

如果要向发电机发送值,则需要通过.next(val)将其传递。例如

expect(generator.next({param: testParam}).value).toEqual(take(actions.FETCH_ACTION))

If you want to send a value to your generator you need to pass it via .next(val). E.g.

expect(generator.next({param: testParam}).value).toEqual(take(actions.FETCH_ACTION))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文