如何在mstest runsettings中使用Specflow srsprofile

How to use Specflow srsprofile in mstest runsettings

我的一个项目使用规范流 + MSTest + MSBuildGeneration 工具。我在我的 srsprofile 中定义了几个过滤器标签,并创建了一个类似于下面的 runsettings 文件

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <!-- Configurations that affect the Test Framework -->
  <RunConfiguration>
    <!-- Path relative to solution directory -->
    <!--<ResultsDirectory>..\..\..\Reports\LastRun\</ResultsDirectory>-->

    <!-- [x86] | x64  
      - You can also change it from menu Test, Test Settings, Default Processor Architecture -->
    <TargetPlatform>x86</TargetPlatform>

    <!-- Framework35 | [Framework40] | Framework45 -->
    <TargetFrameworkVersion>Framework46</TargetFrameworkVersion>
  </RunConfiguration>

  <!-- test adapter -->
  <MsTest>
    <Profile>sample.srprofile</Profile>
  </MsTest>
</RunSettings>

单元测试提供商

  <specFlow>
    <stepAssemblies>
      <stepAssembly assembly="MyProject.Steps" />
    </stepAssemblies>
    <unitTestProvider name="MsTest" />
    <!-- For additional details on SpecFlow configuration options see http://go.specflow.org/doc-config -->
  </specFlow>

由于我使用的是 MSTest 而不是 SpecRun,我认为适配器应该是 MsTest,但是在 visual studio 2017 年的测试资源管理器中没有显示定义过滤器的测试。我做错了吗?在 mstest 的 srsprofile 中使用过滤器标记有不同的方法吗?

srProfile- 文件是 SpecFlow+ Runner(又名 SpecRun)的一项功能。它的功能只有在那里可用。您不能将它与 MSTest 一起使用。

据我所知,根本无法在 runsettings 文件中设置过滤器。

它的文档是:https://docs.microsoft.com/en-us/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file?view=vs-2019


全面披露:我是 SpecFlow 和 SpecFlow+ 的社区管理员