如何测试一个thunk是否已在另一个thunk中调度?

时间:2019-04-01 17:27:36

标签: javascript jestjs redux-thunk

例如,有2个thunk — foobarbarfoo内部调度(例如,成功发送请求之后)。在bar内部调度了一个名为baz的动作创建者。

在测试中,我需要知道是否正确调度了某些内容。测试baz是否已分发很容易,因为它返回了一个普通对象。但是很难检查在调用bar时是否调度了foo!如果将thunk放在同一文件或函数内部,则无法模拟它。我认为是因为关闭。

我不需要知道在bar中应该调用什么动作创建者,因为我将另外进行另一项测试来对其进行测试。我只想检查它是否已调度(也许有一些参数)。

我创建了this example on Codesandbox来表达我的意思(src/utils/functions directory)。

我发现了this question,但是答案并不适合我,因为foobar和其他类可以被另一个函数包装。包装函数接受配置参数,这些配置参数应在所有内部函数之间共享。您可以在src/utils/wrappedFunctions中看到这样的示例。同样,问题中的解决方案看起来像hack,解决方法。

是否有可能在不检查所有动作创建者的情况下测试一个thunk是否已在另一个thunk中调度了?

谢谢。

0 个答案:

没有答案