我正在尝试在我的开发过程中引入单元测试,但我不知道该怎么做。
我有一个包含大量模块的大应用程序(分隔的js文件)。例如:
还有一些模块为其余模块提供服务:
问题是:如何测试使用所有服务模块的 videoInfo.js 模块?我看到两种方法:
当你有很多内部依赖关系时,这样做的好方法是什么?
答案 0 :(得分:2)
理想情况下,您需要在测试套件中使用这两种方法。
您希望模拟所有依赖项(在您的videoInfo.js示例中),以便您可以将其代码与其他任何内容隔离开来并确保它正常工作。根据您拥有的代码设计,这可能很困难。由于代码可能没有考虑到测试,因此不适合嘲笑。
您还希望拥有一整套应用级别的测试,以确保各部分之间的所有交互都能正常工作。根据应用程序的不同,由于依赖于您无法控制的数据,这些测试可能非常脆弱。
这些测试可能位于不同的套件中,因此它们可以独立于其他套件运行。
如果您刚开始编写代码测试,请尽可能编写最佳测试。测试是代码,应该随着你的进行重构。写出最简单的测试。为遗留代码编写测试非常困难。目前的设计可能难以正确测试。因此,当您进行更改时,尽可能做到。