Ошибка при последовательном выполнении тестов Specflow

#nunit #specflow

#nunit #specflow

Вопрос:

Мне было интересно, может ли кто-нибудь помочь с проблемой, с которой я столкнулся, я недавно добавил в свою тестовую платформу совместное использование значения с использованием содержимого функции

Это было помещено в триггер [BeforeScenario]

FeatureContext.Current.Add(«CreatedUser», Созданный пользователь);

Затем я убираю это в [AfterScenario] с помощью

FeatureContext.Current.Remove(«Созданный пользователь»);

С момента добавления этого я не могу запустить более 1 теста, если я запускаю тесты по отдельности (1 на 1), то они выполняются без проблем.

Если я выберу несколько тестов для запуска из Visual Studio, первый из них будет выполняться без проблем, а следующий тест всегда завершится неудачей со следующей ошибкой.

Сообщение: Система.Коллекции.Исключение Generic.KeyNotFoundException: данный ключ отсутствовал в словаре. Удаление: Исключение System.NullReferenceException : ссылка на объект не установлена на экземпляр объекта.

Я добавил строку удаления, поскольку думал, что контекст функции переносится из теста в тест и вызывает проблему, но с удалением или без удаления я получаю эту ошибку.

Приветствуется любая помощь

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

1. Вы отладили свой случай? Выберите 2 теста, установите точку останова в [AfterScenario] и [BeforeScenario] и исследуйте содержимое FeatureContext.Current. Также взгляните на полный стек вызовов, где генерируется исключение. Было бы неплохо, если бы вы обновили свой вопрос минимальным примером кода.

2. Yesi отладил это и обнаружил, что оно было запущено до того, как попал в мой код, вот почему я не разместил пример кодирования, поскольку не думал, что это будет полезно.

Ответ №1:

В конечном итоге мне удалось устранить эту проблему, удалив пакеты Allure NuGet.

Я ранее установил

  • Specflow.Очарование
  • Очарование.Общее

Этот пакет был причиной проблемы, я не уверен в причине, но после удаления эта ошибка перестала возникать.