#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, спасибо, Андреас