Не удалось получить отчет Allure для генерации в c# specflow. net Core. Значение не может быть нулевым. (Параметр «ключ») Значение не может быть нулевым. OnScenarioStart (); - PullRequest
0 голосов
/ 30 апреля 2020

Я написал C# Framework автоматизации тестирования на .netcore 3.1, в котором используются Specflow и Specrun.

Я могу запустить тесты с помощью Specrun и получить отчет, однако мне бы хотелось получить Allure report.

Итак, я установил Specflow.Allure. У меня есть allureConfig. json.

Я надеялся, что теперь смогу просто запустить тесты и получить отчет Allure.

Однако, похоже, все не так просто.

Когда я пытаюсь запустить тесты в случае неудачи с сообщением, показанным ниже.

Кто-нибудь знает, что я делаю неправильно? Нужно ли добавлять дополнительный код для получения отчета Allure?

Сообщение: значение не может быть нулевым. (Параметр «ключ») Stack Trace: System.ArgumentNullException: значение не может быть нулевым. (Параметр 'ключ') ConcurrentDictionary 2.ThrowKeyNullException() ConcurrentDictionary 2.TryGetValue (ключ TKey, TValue и значение) ConcurrentDictionary 2.get_Item(TKey key) AllureStorage.Get[T](String uuid) AllureLifecycle.UpdateFixture(String uuid, Action 1 обновление) AllureLifecycle.UpdateFixture (Действие 1 update) AllureLifecycle.StopFixture(Action 1 beforeStop) AllureBindingInvoker.InvokeBinding (привязка IBinding, Context-объекта [IContextManager] ] аргументы, ITestTracer testTracer, TimeSpan и продолжительность) TestExecutionEngine.InvokeHook (IBindingInvoker Вызывающий, IHookBinding hookBinding, Hooktype Hooktype) линии 352 RunnerTestExecutionEngine.InvokeHook (IBindingInvoker Вызывающий, IHookBinding hookBinding, Hooktype Hooktype) TestExecutionEngine.FireEvents (Hooktype Hooktype) линии 338 (TestExecutionEngine.FireScenarioEvents Hooktype bindingEvent) линия 322 RunnerTestExecutionEngine.FireScenarioEvents (Hooktype bindingEvent) TestExecutionEngine.OnScenarioStart () строка 199 RunnerTestExecutionEngine.OnScenarioStart () () линия TestRunner.OnScenarioStart 55 LM01InitialCaseFeature.ScenarioStart () линия LM01InitialCaseFeature.LM01_01DefaultLM01InitialCase () 4 StaticOrInstanceMethodExecutor.E xecuteInternal (ITestThreadExecutionContext testThreadExecutionContext) StaticOrInstanceMethodExecutor.Execute (ITestThreadExecutionContext testThreadExecutionContext) TestNodeTask.Execute ()

1 Ответ

0 голосов
/ 01 мая 2020

Решением этой проблемы было добавить файл specflow. json и установить для него значение «копировать, если новее», чтобы он копировал в папку отладки.

Содержимое specflow. json было:

{
  "stepAssemblies": [
    {
      "assembly": "Allure.SpecFlowPlugin"
    }
  ]
}

После внесения этого изменения тесты прошли правильно и был создан отчет Allure.

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