【发布时间】:2017-04-25 18:26:10
【问题描述】:
希望在一系列新解决方案中包含单元测试。不知道如何构建它们。
不确定这是否真的很重要,尽管这些都是 .Net C# 项目。
我已经阅读了许多类似的答案,例如这个Organization of Unit Tests in Visual Studio 和这个Do you put unit tests in same project or another project?,但似乎没有一个解决跨多个解决方案共享的项目
鉴于以下 2 个解决方案的结构,创建单元测试项目的最佳实践是什么。
解决方案 #1
- 数据 - 解决方案文件夹
- MyData - 项目
- 全局 - 解决方案文件夹
- Global.Project.1 - 项目
- Global.Project.2 - 项目
- Global.Project.3 - 项目
- Global.Project.4 - 项目
- 服务 - 解决方案文件夹
- Service.Project.1 - 项目
- Service.Project.2 - 项目
- Web - 解决方案文件夹
- 我的网站 - 项目
解决方案 #2
- 数据 - 解决方案文件夹
- MyData - 项目
- 全局 - 解决方案文件夹
- Global.Project.1 - 项目
- Global.Project.2 - 项目
- 服务 - 解决方案文件夹
- Service.Project.1 - 项目
- 应用程序 - 解决方案文件夹
- MyConsoleApp - 项目
请注意,解决方案之间共享一些项目。
那么问题是,这些的典型方法是什么?
我们会为每个项目创建一个测试项目吗?
或者每个解决方案一个测试项目?
或者两者之间的某种混合,也许是他们自己的解决方案
对于不同的方法,你想到了什么陷阱?
【问题讨论】:
-
不确定这是“太宽泛” - 需要详细说明吗?它比引用的其他问题更简洁。
-
我猜它比“太宽泛”更自以为是。我怀疑是否有“正确”甚至“常见”的方式来做到这一点,这主要是由个人喜好驱动的。在我们公司,我们实际上是为每个软件组件实现一个测试项目,其中每个组件都包含一堆程序集。
-
可能 - 试图让它不那么固执己见;必须有一些“典型”的方法来做到这一点。并不是有几十种不同的方法可以实现我的要求。
-
即使这样,问题也不符合 SO 的规则,因为没有“正确答案”可供选择。
-
然而,所引用的两个问题都装饰了多个答案,并且在它们之间获得了许多赞成票。我已经走得更远了,想了解测试共享代码。
标签: c# visual-studio unit-testing