如何运行单元测试作为Build(不持续集成)的一部分

时间:2011-10-21 12:11:05

标签: visual-studio-2010 msbuild nunit msbuild-task

我有Nunit单元测试,我需要运行作为我的MS构建的一部分..我知道运行所有测试将减慢构建所以,我需要只运行受影响的测试是否有任何方法可以找到那个.. ..

3 个答案:

答案 0 :(得分:2)

对于NUnit测试,AFAIK仅运行受影响的测试。但这对Visual Studio 2010 Ultimate / Test Professional中的MSTests来说是可能的:

Recommending Tests to Run That are Affected by Code Changes

  

您可以使用Visual Studio Ultimate或Visual Studio Test Professional   2010年,以帮助您确定可能必须运行的测试,基于   编码对您正在测试的应用程序所做的更改。至   能够使用此功能,您必须使用Team Foundation   构建以构建应用程序并使用Microsoft Visual Studio 2010   用于源代码的版本控制

无论如何,您可以使用MSBuild Community NUnit Task从一组程序集中运行测试。您可以通过指定AfterBuild属性来执行此操作作为标准DependsOnTargets目标的依赖关系目标。

<NUnit Assemblies="..."
       IncludeCategory="..."
       ExcludeCategory="..."
       ToolPath="$(NUnitDllsPath)"
       ProjectConfiguration="$(Configuration)"
       OutputXmlFile="$(NUnitOutputPath)\UnitTests.xml"
       ContinueOnError="true">

答案 1 :(得分:0)

了解您需要跟踪测试用例代码覆盖率的受影响的测试。只有通过这种方式,您才能检查您正在检查的更改会影响哪些测试。除了Microsofts Team Foundation Server之外,我不知道有任何工具能够满足您的要求。

答案 2 :(得分:0)

作为构建的一部分运行测试可以通过项目的Build Events属性完成。您可以为NUnit执行命令行工具。

但正如PVitt已经指出的那样,我不知道NUnit是否可以使用Test Impact分析。