.net 测试项目在项目结构中的位置

.net 测试项目在项目结构中的位置,.net,projects-and-solutions,.net,Projects And Solutions,下面您可以看到我当前的项目结构。但我对此并不完全满意。主要的问题是我不知道把测试项目放在哪里 根据标题,将YML.Tests放在YML文件夹中是合乎逻辑的。但在本例中,我将混合使用YML项目结构和YML.Tests项目文件夹(这并不重要,但我不喜欢) 另一种方法是将YML.Tests重命名为YMLTests,这样就没有太多理由将YMLTests放在YML中。但是我想把YML和YMLTests合并到一个文件夹中。我得知道怎么命名。YML?然后,YML项目将位于另一个YML文件夹中 嗯。。。有没有办

下面您可以看到我当前的项目结构。但我对此并不完全满意。主要的问题是我不知道把测试项目放在哪里

根据标题,将YML.Tests放在YML文件夹中是合乎逻辑的。但在本例中,我将混合使用YML项目结构和YML.Tests项目文件夹(这并不重要,但我不喜欢)

另一种方法是将YML.Tests重命名为YMLTests,这样就没有太多理由将YMLTests放在YML中。但是我想把YML和YMLTests合并到一个文件夹中。我得知道怎么命名。YML?然后,YML项目将位于另一个YML文件夹中

嗯。。。有没有办法让它变得更好


解决方案中项目的组织结构应设计为在解决方案中工作时最大限度地提高生产率。影响生产率的一些因素是项目大小、逻辑分组和导航方便性

在这种情况下,我认为您正在与两种不同的竞争组织概念进行斗争:

  • 按软件产品功能划分的组织(提要、提取器等)
  • 按软件开发功能组织(实施、测试等)
因此,您可以创建一个独立的测试树,它不会“污染”您的实现树,但是如果您经常在同一功能区域的实现和测试之间切换,那么这样做可能会给导航带来很大问题


最后,任何组织结构都必须做出一些妥协,但是考虑到您似乎对测试驱动开发很认真,我认为您提出的组织相当不错。它是常用的,虽然它有其缺陷,但对于日常使用的开发来说是可行和高效的。

为什么YML和YML.Tests要放在“提要”文件夹中?因为YML是提要标准。因此,在feed中会有不同的feed支持实现folder@Idsa字体但它们都是不同的项目,对吗?我倾向于将所有项目保持在解决方案的顶层。也不清楚为什么你对目前的结构不满意。我不喜欢在同一层次上有一些项目和它的测试项目。此外,有时我有两个测试项目用于一个模块:另一个测试项目用于长时间运行的测试。@Idsa:你为什么不喜欢这样?他们都是项目,所以在这方面他们是同行。你目前的设置方式是我如何设置的。如果您想要一个单独的项目来进行长时间运行的测试(而不仅仅是使用类别等),您可以只设置第三个项目。