24

在给定构建运行时,让 Team Foundation Server 运行单元测试的步骤是什么?

首次设置 TFS 服务器以执行此操作时,开发人员或系统管理员应注意哪些警告/陷阱/解决方法?

构建期间单元测试问题的常见故障排除步骤是什么?

4

3 回答 3

11

这取决于您运行的 TFS 版本,所以我假设它是 2008。

首先,您必须在将充当构建代理的计算机上安装 Team Edition for Testers,如如何:创建构建定义中所述

有几种方法可以告诉 Team Build 为您的构建运行测试。

  1. 单元测试可以从正在构建的解决方案中定义的测试列表运行。此列表由构建定义引用,并执行所选列表中的所有测试。更多信息在这里
  2. 通配符测试也可以通过定义通配符掩码(即 Test*.dll)来执行,该掩码指示 Team Build 运行与掩码匹配的程序集中存在的任何测试。这也是在定义构建定义时完成的。

注意事项:

如果您打算使用通配符方法并希望为您的测试配置启用代码覆盖率,则必须将以下内容添加到您的构建定义文件中以启用它。

<RunConfigFile>$(SolutionRoot)\TestRunConfig.testrunconfig</RunConfigFile>

有关更多信息,请参阅我之前的问题

于 2008-11-14T08:30:14.693 回答
4

如果您不想使用测试配置(管理起来很麻烦),只需将其添加到构建配置中即可在 .dll 中运行所有测试:

<ItemGroup>
    <TestContainerInOutput Include="MyProject.UnitTests.dll" />
</ItemGroup>

整个过程顺利且相当简单。您可以通过在本地打开测试结果文件来检查构建服务器上的单元测试(有点痛苦),但通常您只需在本地运行单元测试,您就可以立即看到结果。

如果您习惯于 NUnit,您可以选择按类名对测试进行排序,它提供了类似的视图。

小心代码覆盖率,它会在编译时生成二进制文件的完整副本。如果你的二进制文件足够大并且你经常编译,它会很快耗尽驱动器空间。

于 2008-11-15T15:02:22.170 回答
1

http://msdn.microsoft.com/en-us/library/cc981972(v=vs.90).aspx

我喜欢这个定义,因为它为您提供了一个完整的“演练”,从创建项目创建单元测试项目到配置团队构建以使用它单元测试

于 2011-05-23T00:54:14.693 回答