我在.netcore 3.1上编写了一个使用Specflow和Specrun的C#测试自动化框架。
我可以用Specrun运行测试并获得报告,但我想获得诱惑报告。
所以我安装了Specflow。诱惑我有一个allureConfig.json.
我希望我现在可以运行测试并获得诱惑报告。
然而,事情似乎并没有那么简单。
当我尝试运行测试时,如果失败,则显示如下消息。
有人知道我做错了什么吗?我需要添加更多代码才能获得诱惑报告吗?
消息:值不能为null。(参数"key"(堆栈跟踪:系统ArgumentNullException:值不能为null。(参数"key"(ConcurrentDictionary2.ThrowKeyNullException()
ConcurrentDictionary
2.TryGetValue(TKey键、TValue和value(并发字典2.get_Item(TKey key)
AllureStorage.Get[T](String uuid)
AllureLifecycle.UpdateFixture(String uuid, Action
1更新(诱惑生命周期。UpdateFixture(停止前操作1 update)
AllureLifecycle.StopFixture(Action
1(AllureBindingInvoker。InvokeBinding(IBBinding绑定、IContextManager上下文管理器、Object[]参数、ITestTracer-testTracer、TimeSpan&duration(TestExecutionEngine。InvokeHook(IBindingInvoker调用程序,IHookBinding hookBinding,HookType HookType(行352RunnerTestExecutionEngine。InvokeHook(IBindingInvoker调用程序,IHookBinding hookBinding,HookType HookType(TestExecutionEngine。FireEvents(HookType HookType(线路338TestExecutionEngine。FireScenarioEvents(HookType绑定事件(行322RunnerTestExecutionEngine。FireScenarioEvents(HookType绑定事件(TestExecutionEngine。OnScenarioStart((行199RunnerTestExecutionEngine。OnScenarioStart((TestRunner。OnScenarioStart((第55行LM01初始机箱功能。ScenarioStart((LM01初始机箱功能。LM01_01默认LM01InitialCase((第4行StaticOrInstanceMethodExecutor。ExecuteInternal(ITestThreadExecutionContext testThreadExecution上下文(StaticOrInstanceMethodExecutor。Execute(ITestThreadExecutionContext testThreadExecution上下文(TestNodeTask。执行((
解决方案是添加specflow.json文件,并设置为"如果更新,则复制",以便复制到调试文件夹中。
specflow.json的内容是:
{
"stepAssemblies": [
{
"assembly": "Allure.SpecFlowPlugin"
}
]
}
进行此更改后,测试正确运行,并生成诱惑报告。