【问题标题】:One or more unit test projects for solution解决方案的一个或多个单元测试项目
【发布时间】:2016-04-27 04:09:49
【问题描述】:

我的解决方案中有一个控制台应用程序,其中包含另外两个类库项目(总共 3 个项目)。

我现在想添加一个单元测试项目。我的问题是我是在解决方案中为每个“常规项目”添加一个“单元测试项目”,还是一个可以测试所有三个的单个单元测试项目?

换句话说,如果我的项目是 projA、projB 和 projC,我是否要添加三个单元测试项目,例如projA.Tests、projB.Tests 等。还是可以处理所有这三个的单个单元测试项目?

【问题讨论】:

  • 一个可以处理所有三个的单个单元测试项目。

标签: c# unit-testing visual-studio-2015 mstest class-library


【解决方案1】:

如果问题只是可以处理所有三个的单个单元测试项目吗?答案是是的,但我会说这取决于下一步。就个人而言,我倾向于将所有测试放在一个项目中,在项目中为每个程序集使用单独的文件夹(必要时加上更多的子文件夹。)这使得在 VisualStudio 中运行整个集合变得容易。如果您有数千个测试,那么单个项目可能难以维护。我们通常将它们分开,因为我们不想将它们与我们的产品一起部署。无论您是按库还是按解决方案拆分它们,两者都有优点。

最终,您希望所有开发人员都能立即使用测试,以便开发人员知道在需要时可以在哪里找到它们。您还需要一个无障碍环境,并且编写新测试的开销最小。测试还必须快速编译和执行——项目结构可以在这一切中发挥作用。

您可能还需要考虑可以进行不同级别的测试,例如单元测试、集成测试或 UI 自动化测试。在某些工具中可以通过使用测试类别来分离这些类型的测试,但有时如果它们是单独的库,则执行或报告会更容易。

在项目不多的小型项目中,1:1 的比例通常是首选方法。

【讨论】:

  • 感谢您的深入解释!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-09
  • 2023-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-24
  • 1970-01-01
相关资源
最近更新 更多