nunit - nunit是每个解决方案或者每个项目更好的单元测试 项目?

  显示原文与译文双语对照的内容
82 5

每个解决方案有一个单元测试项目还是每个项目的单元测试项目更好?

对于每个解决方案,如果解决方案中有 5个项目,最终将使用 1单元测试项目,其中包含每个 5项目的测试。

对于每个项目,如果在解决方案中有 5个项目,最终将使用 5单元测试项目。

是什么

因此,我认为这与将单元测试写入程序集或者单独程序集中的问题不同?

时间:原作者:0个回答

70 2

程序集是打包/部署问题,因此我们通常将它们分开,因为我们不希望将它们部署到产品中。无论是每个库还是每个解决方案拆分它们都有优点。

最终,你希望测试对所有开发人员立即可以用,因这里开发人员知道在需要时找到它们。你还需要一个障碍环境,以便编写新测试的开销最少,这样不需要为cynics编写测试。测试还必须快速编译和执行- 项目结构可以在这一切中扮演一个角色。

你可能还需要考虑不同的测试级别,比如单元。集成或者UI自动化测试。使用测试类别可以以在某些工具中分隔这些类型的测试,但是有时会更容易执行或者报告。

如果你有特殊的打包考虑因素,比如模块化应用程序不应该彼此了解的模块化应用程序,那么你的测试项目也应该。

在没有大量项目的小型项目中,1: 1 比通常是首选的方法。但是,随着项目数量的增加,Visual Studio的性能会迅速下降。在 40个项目标记编译成为编译和运行测试的障碍,因这里大型项目可以能会收益于测试项目。

我倾向于一种语用方法,这样复杂性就适合于问题。通常,应用程序由多个层组成,每个层可能有多个项目。我喜欢从每个层开始一个测试库,我使用文件夹模拟解决方案结构。当复杂性warrants时划分。如果你设计你的测试项目灵活性,那么转换通常是无痛的。

原作者:
...