(обновил этот пост для ясности)
Мне не удается создать начальную точку проекта C # Specflow Nunit (в отличие от онлайн-уроков и видеороликов), в результате чего новые функции specflow автоматически генерируют файлы CS и отображаются в виде выполняемых тестов.
Шаги для воспроизведения:
Установка Visual Studio Community 2019 v16.3.5
Расширения> Управление расширениями: Установить Specflow дляVS 2019 (v2019.0.36.11860). Перезапустите VS, чтобы принять установку Specflow в мастере.
Новый проект> Тест> Проект модульного тестирования C # (.Net Framework, C #, Windows, Test). Имя: myProject Framework: 4.7.2
Удалите автоматически сгенерированный файл проекта UnitTest1.cs
Из NuGet Manager для решения добавьте пакет: Specflow.NUnit v3.0.225 (выберите «ОК», чтобы внести изменения в решение, и примите пакетные лицензии
Добавьте две папки в проект: «Функции», «StepBindings»
Новый элемент в папке «Элементы»: файл объектов Specflow (тип: элемент Visual C #) name myFeature.feature
результат: автоматически созданный файл cs не появляется под новым зеленым myFeature.featurefile
предупреждение решения: не удается найти настраиваемый инструмент SpecFlowSingleFileGenerator в этой системе. (File: myFeature.feature)
Примечание. Для параметра SpecFlowSingleFileGenerator установлено значение False в разделе Инструменты> Параметры> Поток данных
Щелкните правой кнопкой мыши по шагу в myFeature.feature> сгенерируйте определения шагов> сохраните как «myFeatureSteps.cs» в папке StepBindings. Результат: предупреждения решения: ScenarioContext.Current устарел (Файл: myFeature.feature lines 12, 18, 24)
View-Test Explorer
результат: тесты не показываются, в том числе при нажатии кнопки «выполнить все» (для запуска тестов сборки / обнаружения)/ запустить в растворе)
Дальнейшие исследовательские шаги:
(обязательно?) Добавлен пакет nuGet: NUnit3TestAdapter v3.15.1
Обновлен пакет nuGet NUnit до v3.12.0
Перестроил проект, нажал runAll в testexplorer, перезапустил Visual Studio
окончательный результат: тесты не показываются в бегуне, а автоматически сгенерированный код все еще отображается с ошибками (ScenarioContext.Current)
packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="BoDi" version="1.4.1" targetFramework="net472" />
<package id="Gherkin" version="6.0.0" targetFramework="net472" />
<package id="MSTest.TestAdapter" version="1.3.2" targetFramework="net472" />
<package id="MSTest.TestFramework" version="1.3.2" targetFramework="net472" />
<package id="NUnit" version="3.12.0" targetFramework="net472" />
<package id="NUnit3TestAdapter" version="3.15.1" targetFramework="net472" />
<package id="SpecFlow" version="3.0.225" targetFramework="net472" />
<package id="SpecFlow.NUnit" version="3.0.225" targetFramework="net472" />
<package id="System.Reflection.Emit" version="4.3.0" targetFramework="net472" />
<package id="System.Reflection.Emit.Lightweight" version="4.3.0" targetFramework="net472" />
<package id="System.Threading.Tasks.Extensions" version="4.4.0" targetFramework="net472" />
<package id="System.ValueTuple" version="4.4.0" targetFramework="net472" />
<package id="Utf8Json" version="1.3.7" targetFramework="net472" />
</packages>
Примечание: элемент верхнего пакета подчеркнут как "не объявлен"?
Код, чтобы попытаться заставить проект работать: https://github.com/bobjames238745/getSpecflowWorkingWithNunit