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

时间:2008-11-13 15:37:41

标签: unit-testing tfs installation mstest

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

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

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

3 个答案:

答案 0 :(得分:11)

这取决于您运行的TFS版本,因此我假设它是2008年。

首先,您必须在将充当构建代理的计算机上安装Team Edition for Testers,如How To: Create a Build Definition中所述

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

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

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

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

    有关详细信息,请参阅我之前的问题here

答案 1 :(得分:4)

如果您不想使用测试配置(A管理中的痛苦),只需在.dll中运行所有测试,方法是将其添加到构建配置中:

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

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

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

小心使用代码覆盖,它会在编译时生成二进制文件的完整副本。如果您的二进制文件足够大并且经常编译,它将很快通过驱动器空间吃掉。

答案 2 :(得分:1)

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

我喜欢这个定义,因为它为您提供了完整的“演练” 创建项目 创建单元测试项目 配置Team build以使用Unit Test