指示MSBuild仅构建集成测试,而不运行它们

时间:2019-11-25 09:55:57

标签: .net-core msbuild azure-devops azure-pipelines roslyn

我正在尝试使用MSBuild(.props / .targets)在运行测试而不运行集成测试时获得流畅的体验。我正在尝试不同的方式

  • 构建后删除**\*.IntegrationTests.dll(无效)
  • 在构建之前排除**\*.IntegrationTests.csproj(无效)
  • 如果CopyToOutputDirectory=Never(无效)设置IsIntegrationTestProject=true

我的目标是实现

  1. 在VS或CLI中运行测试不会运行集成测试。这必须是明确的
  2. 跳过在CI-build上运行集成测试,仅在明确要求调用它们时运行它们,例如设置环境变量,AzDo变量,MSBuild属性。

我尝试过的事情

// Directory.Build.props
<ItemGroup>
  <IntegrationTests Include="**/*.IntegrationTests.csproj" />
</ItemGroup>

// Directory.Build.targets
<Target Name="AfterBuild" Condition="'$(RunIntegrationTests)' == 'false'">
  <Delete Files="@(IntegrationsTests->Replace(".csproj", ".dll")) />
</Target>

<ItemGroup>
  <MyProjectReferences Remove="@(IntegrationTests)" />
</ItemGroup>

如果有人可以对此有所了解,我将非常感激。

谢谢!

0 个答案:

没有答案