#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.Очарование
- Очарование.Общее
Этот пакет был причиной проблемы, я не уверен в причине, но после удаления эта ошибка перестала возникать.