Team Foundation Server(TFS)构建的运行单元测试

问题描述:

运行给定构建时获取Team Foundation Server运行单元测试的步骤是什么?Team Foundation Server(TFS)构建的运行单元测试

设置TFS服务器首次执行此操作时,dev或sysadmin应该注意哪些警告/陷阱/解决方法?

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

这取决于你正在运行的TFS的版本,所以我会假设它是2008年

首先,你必须有团队版安装在计算机上的测试人员,将作为您的生成代理,如前所述在How To: Create a Build Definition

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

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

注意事项:

如果您打算使用通配符方法和要启用代码覆盖测试配置,您必须添加以下到您的构建定义文件来启用它。

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

查看这个我刚才的问题更多信息here

+1

注意,在VS 2010年,文件扩展名现在是“.testsettings”,但除此之外,它的工作原理与以前一样。 – 2011-08-25 10:34:25

如果你不想使用测试CONFIGS(疼痛的屁股来管理)刚刚运行所有测试在一个.dll将此添加到构建配置中:

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

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

如果你习惯了NUnit,你可以选择按类名对测试进行排序,它给出了类似的视图。

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

+0

但通配符方法确实允许您运行来自不同测试项目的所有测试。想象一下当你有100个不同的测试项目时, Ola 2009-10-20 08:27:02

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

我喜欢这个认定中,因为它给你一个完整的“演练”从 创建项目 创建单元测试项目 要配置团队构建中使用它的单元测试