例如,有2个thunk — foo
和bar
。 bar
在foo
内部调度(例如,成功发送请求之后)。在bar
内部调度了一个名为baz
的动作创建者。
在测试中,我需要知道是否正确调度了某些内容。测试baz
是否已分发很容易,因为它返回了一个普通对象。但是很难检查在调用bar
时是否调度了foo
!如果将thunk放在同一文件或函数内部,则无法模拟它。我认为是因为关闭。
我不需要知道在bar
中应该调用什么动作创建者,因为我将另外进行另一项测试来对其进行测试。我只想检查它是否已调度(也许有一些参数)。
我创建了this example on Codesandbox来表达我的意思(src/utils/functions directory
)。
我发现了this question,但是答案并不适合我,因为foo
,bar
和其他类可以被另一个函数包装。包装函数接受配置参数,这些配置参数应在所有内部函数之间共享。您可以在src/utils/wrappedFunctions
中看到这样的示例。同样,问题中的解决方案看起来像hack,解决方法。
是否有可能在不检查所有动作创建者的情况下测试一个thunk是否已在另一个thunk中调度了?
谢谢。