如何从测试套件中选择测试

时间:2020-08-24 16:40:44

标签: c# azure-devops azure-pipelines test-suite test-plan

我有一个完成以下任务的阶段: enter image description here

有2个测试套件和8个测试用例。 我只想在功能文件中执行带有“下载”标签的测试用例 enter image description here

当我在本地执行命令时

dotnet test <name>.dll --filter TestCategory=download

一切都很好,但是当我尝试在任务的“其他控制台选项”中添加命令行选项时 enter image description here 测试用例没有被过滤,而是全部执行。

我在做错什么,什么可以帮助我过滤测试?

2 个答案:

答案 0 :(得分:1)

从测试计划运行时,其他控制台选项不可用。您可能需要更改它以使用程序集(与您的本地副本匹配)选择测试,或者需要使用未绑定在源代码中的过滤条件来过滤套件中的测试。

如果您扩展该选项的信息:​​

这些选项不受支持,在运行测试时将被忽略 使用代理作业的“多代理”并行设置 使用“测试计划”选项运行测试。可以指定选项 而是使用设置文件。

答案 1 :(得分:1)

马特是正确的。 Visual Studio测试任务中的other console options不支持从测试计划中运行。

要解决此问题,您可以使用.runsettings文件。

现在,VS 16.6 Preview 3之后的版本可以支持将testcasefilter直接添加到.runsettings。

这里是一个例子:

.runsettings文件

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <!-- Configurations that affect the Test Framework -->
  <RunConfiguration>
    <MaxCpuCount>1</MaxCpuCount>
    <!-- Path relative to directory that contains .runsettings file-->
    <ResultsDirectory>.\TestResults</ResultsDirectory>
    <TestCaseFilter>TestCategory=xxx</TestCaseFilter>
  </RunConfiguration>
....

管道设置:

enter image description here

您可以在VS 16.7.1任务中安装Visual Studio Test Platform Installer

然后,您可以在Visual Studio测试任务中设置测试平台版本和runsettings文件。

enter image description here

这是一张有关testcasefilter in runsettings file的票。