TestToolsTask 任务为端对端生成或桌面生成运行测试。 通过将属性 IsDesktopBuild 设置为 true,即可设置桌面生成类型。
参数
| Property | 说明 | 
|---|---|
| Condition | 可选 String 参数。 Boolean 表达式,MSBuild 引擎用它来确定是否执行此任务。 有关信息,请参见MSBuild 条件。 | 
| BuildFlavor | 指定生成配置。 例如“Debug”。 仅为端对端(而不是桌面)生成定义。 | 
| Platform | 指定平台。 例如“x86”或“Any CPU”。 仅为端对端(而不是桌面)生成定义。 | 
| PublishServer | 指定 Team Foundation Server URL。 仅为端对端(而不是桌面)生成定义。 | 
| PublishBuild | 指定生成的内部版本号。 仅为端对端(而不是桌面)生成定义。 | 
| SearchPathRoot | 指定测试文件的搜索路径。 为端对端生成和桌面生成定义。 | 
| PathToResultsFilesRoot | 指定上载测试结果的位置。 为端对端生成和桌面生成定义。 | 
| MetaDataFile | 指定测试元数据文件。 此文件包含测试列表和指向测试的链接。 有关测试列表的更多信息,请参见使用测试列表。 测试元数据文件的扩展名为 .vsmdi。 为端对端生成和桌面生成定义。 | 
| RunConfigFile | 指定测试配置文件。 这些文件配置运行测试的方式。 有关更多信息,请参见 Configuring How to Run Your Tests from Microsoft Visual Studio。 测试运行配置文件的扩展名为 .testrunconfig。 为端对端生成和桌面生成定义。 | 
| TestLists | 指定包含在测试元数据文件中的测试列表。 为端对端生成和桌面生成定义。 | 
| TeamProject | 指定团队项目名称。 仅为端对端(而不是桌面)生成定义。 | 
| TestContainers | 指定包含测试的文件。 例如,myTestFile.dll。 | 
备注
Microsoft.TeamFoundation.Build.targets 文件包含一个 TestToolsTask 任务的实例,Team Foundation Build 使用该实例作为 RunTestWithConfiguration 目标的默认实现。
Microsoft.TeamFoundation.Build.targets 文件存储在 Team Foundation Build 计算机上的 <根>:\Program Files\MSBuild\Microsoft\VisualStudio\TeamBuild 文件夹中。
示例
下面的 XML 描述了 Microsoft.TeamFoundation.Build.targets 文件中用于端对端生成的 TestToolsTask 实例。
<!-- MetaDataFile tests for non-desktop builds. -->
        <TestToolsTask
              Condition=" '$(IsDesktopBuild)'!='true' and '%(LocalMetaDataFile.Identity)' != '' "
              BuildFlavor="$(Configuration)"
              Platform="$(Platform)"
              PublishServer="$(TeamFoundationServerUrl)"
              PublishBuild="$(BuildNumber)"
              SearchPathRoot="$(OutDir)"
              PathToResultsFilesRoot="$(TestResultsRoot)"
              MetaDataFile="%(LocalMetaDataFile.Identity)"
              RunConfigFile="$(RunConfigFile)"
              TestLists="%(LocalMetaDataFile.TestList)"
              TeamProject="$(TeamProject)"
              ContinueOnError="true" />
        <!-- TestContainer tests for non-desktop builds. -->
        <TestToolsTask
                Condition=" '$(IsDesktopBuild)'!='true' and '%(LocalTestContainer.Identity)' != '' "
                BuildFlavor="$(Configuration)"
                Platform="$(Platform)"
                PublishServer="$(TeamFoundationServerUrl)"
                PublishBuild="$(BuildNumber)"
                SearchPathRoot="$(OutDir)"
                PathToResultsFilesRoot="$(TestResultsRoot)"
                RunConfigFile="$(RunConfigFile)"
                TestContainers="%(LocalTestContainer.Identity)"
                TeamProject="$(TeamProject)"
                ContinueOnError="true" />
下面的 XML 描述了 Microsoft.TeamFoundation.Build.targets 文件中用于桌面生成的 TestToolsTask 实例。
<!-- MetaDataFile tests for desktop builds. -->
        <TestToolsTask
              Condition=" '$(IsDesktopBuild)'=='true' and '%(MetaDataFile.Identity)' != '' "
              SearchPathRoot="$(OutDir)"
              PathToResultsFilesRoot="$(TestResultsRoot)"
              MetaDataFile="%(MetaDataFile.Identity)"
              RunConfigFile="$(RunConfigFile)"
              TestLists="%(MetaDataFile.TestList)"
              ContinueOnError="true" />
        <!-- TestContainer tests for desktop builds. -->
        <TestToolsTask
                Condition=" '$(IsDesktopBuild)'=='true' and '%(TestContainer.Identity)' != '' "
                SearchPathRoot="$(OutDir)"
                PathToResultsFilesRoot="$(TestResultsRoot)"
                RunConfigFile="$(RunConfigFile)"
                TestContainers="%(TestContainer.Identity)"
                ContinueOnError="true" />