所以我正在向旧项目添加一些新功能。我能够对一些类进行单元测试,而无需依赖遗留代码中的任何功能。然而,我已经到了这样的地步:功能的下一阶段是如此依赖于遗留代码,以至于我基本上必须从项目(或至少是大部分设置)运行主程序才能能够对我最新的类(class)进行单元测试。在尝试进行单元测试时,是否有某种方法可以处理荒谬的依赖关系?
最佳答案
However I've gotten to a point where the next phase in functionality is just so dependent on the legacy code that it seems like I will basically have to run the main from the project( or at least most of the set up) in order to be able to Unit test my newest class.
我也遇到过这样的问题。要求您编写一个包含 4 个方法的小类。
但是,不幸的是,您的代码需要创建遗留类的对象。因此,您需要构建遗留代码库,将您的代码与它们链接,运行 3 打进程,启动数据库,在数据库中填充示例数据,设置进程配置,安排事件启动......等等。/p>
您可以通过模仿您的输入来避免一些痛苦(我假设您已经这样做了)。
您还可以删除遗留类。如果您没有控制遗留类的源代码,您甚至可以有选择地 stub 遗留类的方法(通过将 stub 库放在编译器的命令行上,位于实际的遗留库之前)。
有不同的技巧来处理单元测试中出现的不同类型的问题。如果您有一个特定的问题,您可以将其添加到您的问题中,以便人们可以更好地帮助您。
关于c++ - 如何正确进行具有大量依赖项的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40295643/