【问题标题】:Organising 'Sample Test Files' in Visual Studio and SVN在 Visual Studio 和 SVN 中组织“示例测试文件”
【发布时间】:2011-07-03 00:59:37
【问题描述】:

我的问题是关于 测试文件,我的意思是我的一些自动化测试所依赖的非代码文件(*.xml、*.xls、*.jpg 等)。因此,我将使用 示例测试文件,以免与测试文件混淆,即包含测试的代码文件。

我的大部分自动化测试都是独立的单元测试,但我在单个项目 (MyApp.Tests.Integration) 中也有一些集成测试,用于验证与外部依赖项交互的类的行为。

我的示例测试文件集合包含在我的解决方案中名为 MyApp.Tests.TestFiles 的另一个项目中。每个文件都在其属性中设置了“内容”和“如果更新则复制”的构建操作。

当我运行我的测试时,解决方案被构建,文件被复制到我的输出目录“bin\Debug”,我的集成测试在那里引用它们。

引发问题的问题是,我一直在将示例测试文件提交到我的 svn 存储库,该存储库与我的代码一起在线托管,存储量有限。这些文件在存储库中占用了过多的空间。我已经重建了存储库并将所有示例测试文件减少到最小大小。

在大多数情况下,示例测试文件不太可能更改,因此虽然我希望它们可以通过工作副本从我的存储库中检出,但只要我可以重建 MyApp,就没有真正的理由将它们置于版本控制之下。用于运行测试的 Tests.TestFiles\TestFiles 目录结构。

情况就是这样,我希望得到以下几点的答案:

  • 有没有更好的方法来处理这些文件?
  • 将这些文件保存在我的解决方案之外会更好吗?
  • 我可以在我的 svn 存储库中保留任何必需的文件,但不受版本控制吗?
  • 了解有关 MSBuild 的更多信息对我有帮助吗?

【问题讨论】:

    标签: visual-studio svn integration-testing


    【解决方案1】:

    我怀疑是否会就组织事物的“最佳”方式达成一致。我知道在我的 SCM 系统中,我通常喜欢有一个文件夹,其中包含一个用于可部署代码和测试代码的文件夹。假设我正在构建 Widget,并且我有一个名为 MyLibrary 的 dll。然后文件夹 Widget 将有一个名为 MyLibrary 的文件夹和一个名为 MyLibrary_test 的文件夹。在 VS 中,我做同样的事情,并将我的测试项目保存在与可部署项目相同的解决方案中。我独自工作,所以较大的团队可能会发现其他更适合的组织方式。

    我将我的测试代码视为可部署的源代码。它在源代码管理系统中。 SVN 保留不同的文件,因此保留测试文件的版本副本并不昂贵。 SVN 甚至尝试在二进制文件上保留增量,但有时doesn't work out as well as one mighthope。我不相信 SVN 旨在保留源文件的唯一最新副本。 “三角洲”方法不会那么好用。当您第一次不小心更改了测试文件时,您会希望您可以返回并获取 lat 工作版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-06
      • 1970-01-01
      • 2011-02-18
      • 2018-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多