C++ 如何正确地使用大量依赖项进行单元测试

C++ 如何正确地使用大量依赖项进行单元测试,c++,c,unit-testing,C++,C,Unit Testing,因此,我正在为一个旧项目添加一些新功能。我能够在不依赖遗留代码的任何特性的情况下对一些类进行单元测试。然而,我已经到了这样一个地步:功能的下一个阶段是如此依赖于遗留代码,以至于看起来我基本上必须从项目中运行main(或者至少是大部分设置),以便能够对我的最新类进行单元测试。在尝试进行单元测试时,是否有某种方法来处理荒谬的依赖关系 然而,我已经到了一个地步,下一阶段的功能 是如此依赖于遗留代码,似乎我会 基本上必须从项目中运行main(或至少大部分 设置)以便能够对我的最新类进行单元测试 我遇到过

因此,我正在为一个旧项目添加一些新功能。我能够在不依赖遗留代码的任何特性的情况下对一些类进行单元测试。然而,我已经到了这样一个地步:功能的下一个阶段是如此依赖于遗留代码,以至于看起来我基本上必须从项目中运行main(或者至少是大部分设置),以便能够对我的最新类进行单元测试。在尝试进行单元测试时,是否有某种方法来处理荒谬的依赖关系

然而,我已经到了一个地步,下一阶段的功能 是如此依赖于遗留代码,似乎我会 基本上必须从项目中运行main(或至少大部分 设置)以便能够对我的最新类进行单元测试

我遇到过这种问题。我们要求您编写一个包含4个方法的小类

但是,不幸的是,您的代码需要创建遗留类的对象。所以,您需要构建遗留代码库,将代码与它们链接起来,运行30多个进程,打开数据库,在数据库中填充示例数据,设置进程配置,安排要启动的事件。。等等

你可以通过模仿你的输入来避免一些痛苦(我想你已经做到了)

您还可以删除遗留类。如果您的控件中没有遗留类的源代码,那么您甚至可以有选择地删除遗留类的方法(通过将存根库放在编译器的命令行上,而不是放在实际遗留库之前)


有不同的技巧来处理单元测试中出现的不同类型的问题。如果您有特定的问题,您可以将其添加到您的问题中,以便人们能够以更好的方式帮助您。

不要垃圾邮件标签!C是一种不同的语言。如何正确地对大量依赖项进行单元测试重构。我不是在滥发标签。我的项目的很多遗留代码都是c语言。然而,这个项目的更新方面是用C++编写的。而且重构也不是一个选项。谢谢!你为我提供了一些调查的东西。