模拟node.js模块

Iva*_*gin 6 javascript integration-testing unit-testing mocking node.js

可以说我有这种情况(架构)

layer1 -> layer2 -> layer3
Run Code Online (Sandbox Code Playgroud)

层只是普通的node.js模块(有一些导出的功能)

Layer1需要layer2并调用他的函数,layer2需要layer3并调用他的函数.

我想在layer1中测试函数,但也想模拟layer3(我在layer1中的函数调用传播到layer3,这个我想模拟).

做这个的最好方式是什么?我看过这个模块:https://github.com/thlorenz/proxyquire但我不认为它支持模拟当事情进展到2级或更高级别时,就像我的例子.

谢谢你的任何建议!

n3r*_*3rd 1

我使用嘲笑取得了巨大的成功,尽管根据你想要嘲笑的内容,它可能会变得非常乏味。

然而,你的设置似乎有点古怪。如果您想对第 1 层进行单元测试,则只需模拟第 2 层,并且第 1 层和第 3 层之间不应该有任何(直接)连接。