Нераспознанный элемент unitTestProvider - PullRequest
1 голос
/ 12 мая 2019

Я новичок в установке SpecFlow и i с пакетом SpecFlow и базовым вкладом дополнительных пакетов SpecFlow (который поставляется с NUnit).

После добавления файлов объектов у меня возникла проблема с пользовательским инструментом для генерации SpecFlowsingleFilegenerations (и я исправил их, удалив опцию из свойств)

Тогда, когда я перестрою решение. Он показывает некоторый нераспознанный элемент в файле appconfig для unittestprovider

ошибка: [SpecFlow] System.Configuration.ConfigurationErrorsException: Нераспознанный элемент 'unitTestProvider'.

Секция спецификации моего файла appconfig

<specFlow>
    <unitTestProvider name="NUnit" />
    <plugins>
      <add name="Baseclass.Contrib.SpecFlow.Selenium.NUnit" path="..\packages\Baseclass.Contrib.SpecFlow.Selenium.NUnit.1.3.1\tools" /> 
    </plugins>

  </specFlow>

1 Ответ

1 голос
/ 12 мая 2019

Этот файл конфигурации не будет работать с версией 3.0 и выше SpecFlow. Документацию по обновлению до 3.0 вы можете прочитать здесь . Там написано:

Изменения в настройке провайдеров модульных тестов

В предыдущих версиях SpecFlow поставщик модульных тестов, который использовался для выполнения тестов, был настроен в вашем файле app.config. Начиная с SpecFlow 3, мы настоятельно рекомендуем настроить поставщика модульных тестов, установив один из доступных пакетов (см. Ниже).

А также:

specflow.json

В дальнейшем мы рекомендуем использовать specflow.json для настройки SpecFlow, а не app.config. Для проектов .NET Core требуется specflow.json (app.config не поддерживается). Хотя использование specflow.json является необязательным для проектов Full Framework, мы рекомендуем перейти на новый формат. Для получения дополнительной информации см. Конфигурация в документации.

Таким образом, вы можете удалить SpecFlow из app.config и создать файл с именем specflow.json. Вы можете поместить в него следующее:

{
    "language": {
        "feature": "en-US"
    }
}

Вы можете изменить язык на что-то другое, если хотите.

Вы должны добавить тестового бегуна в свой проект, если у вас его еще нет. В вашем случае это NUnit, поэтому добавьте SpecFlow.NUnit с NuGet. Обычно вам нужны пакеты, перечисленные в примере проекта для NUnit.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...