Как использовать Specflow srsprofile в mstest runsettings

#c# #visual-studio #mstest #specflow #runsettings

#c# #visual-studio #mstest #specflow #runsettings

Вопрос:

В одном из моих проектов используется spec flow MSTest MSBuildGeneration tool. У меня есть несколько тегов фильтра, определенных в моем srsprofile, и я создал файл runsettings примерно так, как показано ниже

 <?xml version="1.0" encoding="utf-8"?>
<RunSettings>
  <!-- Configurations that affect the Test Framework -->
  <RunConfiguration>
    <!-- Path relative to solution directory -->
    <!--<ResultsDirectory>......ReportsLastRun</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>

  

Поставщик UnitTest

   <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 для определенных фильтров. я делаю это неправильно? Есть ли другой способ использовать теги фильтра в srsprofile для mstest?

Комментарии:

1. Отображаются ли тесты SpecFlow вообще или они только сейчас отображаются под указанными фильтрами?

2. Тесты SpecFlow отображаются без каких-либо настроек тестирования или настроек выполнения. Но я не хочу запускать все теги фильтра сразу, я хочу контролировать это, и я считаю, что это будет достигнуто с помощью файла runsettings, в котором вы указываете путь к srprofile, в котором вы определяете свои фильтры, но я просто не знаю, как использовать его с MSTest

Ответ №1:

Файл srProfile — это функция SpecFlow Runner (он же SpecRun). Его функции доступны только там. Вы не можете использовать его с MSTest.

Насколько я выяснил, нет никакого способа установить фильтр в файле runsettings вообще.

Документы для этого: https://learn.microsoft.com/en-us/visualstudio/test/configure-unit-tests-by-using-a-dot-runsettings-file?view=vs-2019


Полное раскрытие информации: я являюсь менеджером сообщества SpecFlow и SpecFlow

Комментарии:

1. ах! жаль, я мог бы попробовать переключить его на SpecRun, спасибо, Андреас