模拟与依赖注入?

问题描述 投票:0回答:1

我编写了一个使用

fs
模块的 Node.js 模块,所以我想测试一下它,我应该让该模块不使用它/使用模拟模块。

在寻找方法时,我偶然发现了两种方法:

  1. 依赖注入:在运行测试时为我的模块提供一个假的
    fs
    模块,例如通过函数参数

function main(... , fs)

  1. 模拟:在运行侵入进程的测试时使用另一个软件,当模块需要时,
    fs
    模块会为其提供一个不同的假模块(例如使用SinonJS)

我的理解正确吗?我怎么知道何时使用哪种方式?谢谢。

javascript node.js unit-testing dependency-injection mocking
1个回答
0
投票

如果您的应用程序的用例推荐甚至需要依赖注入,那就太好了!您也可以在单元测试中使用它。

在由于应用程序的用例而不需要时使用依赖项注入,只是为了进行单元测试,会使您的代码变得复杂和膨胀,并且您的实时操作中的代码实际上并不需要。

© www.soinside.com 2019 - 2024. All rights reserved.