1

我有一个包含以下任务的阶段: 在此处输入图像描述

有 2 个测试套件,包含 8 个测试用例。我只想在功能文件中执行带有“下载”标签的测试用例 在此处输入图像描述

当我在本地执行命令时

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

一切都很好,但是当我尝试在任务 在此处输入图像描述 测试用例的“其他控制台选项”中添加命令行选项时,没有过滤并且全部执行。

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

4

2 回答 2

1

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

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

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

于 2020-08-24T18:55:11.673 回答
1

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

要解决此问题,您可以使用.runsettingsfile.

现在,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>
....

管道设置:

在此处输入图像描述

您可以安装VS 16.7.1inVisual Studio Test Platform Installer任务。

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

在此处输入图像描述

这是一张关于runsettings 文件中的 testcasefilter的票。

于 2020-08-25T08:15:15.377 回答