【问题标题】:How to properly Unit Test with a large number of dependencies [closed]如何正确地进行具有大量依赖项的单元测试 [关闭]
【发布时间】:2017-03-10 18:56:27
【问题描述】:

所以我正在向一个旧项目添加一些新功能。我能够对一些类进行单元测试,而无需依赖遗留代码中的任何功能。但是,我已经到了这样一个地步,即下一阶段的功能非常依赖于遗留代码,似乎我基本上必须从项目(或至少大部分设置)中运行 main 以便能够对我的最新课程进行单元测试。在尝试进行单元测试时,是否有某种方法可以处理荒谬的依赖关系?

【问题讨论】:

  • 不要垃圾标签! C 是一种不同的语言。
  • 如何正确地对大量依赖项进行单元测试重构。
  • 我不是垃圾邮件标签。我项目的许多遗留代码都在 c 中。然而,该项目的较新方面是用 C++ 编写的。重构也不是一种选择。

标签: c++ c unit-testing


【解决方案1】:

但是我已经到了功能的下一个阶段 非常依赖遗留代码,我似乎会 基本上必须从项目中运行主要(或至少大部分 设置)以便能够对我的最新课程进行单元测试。

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

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

您可以通过模仿您的输入来避免一些痛苦(我假设您已经这样做了)。

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

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

【讨论】:

  • 谢谢!你为我提供了一些值得研究的东西。
猜你喜欢
  • 1970-01-01
  • 2017-09-03
  • 2014-05-29
  • 2013-05-10
  • 2011-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-25
相关资源
最近更新 更多