【问题标题】:Error running Specflow tests consecutively连续运行 Specflow 测试时出错
【发布时间】:2019-03-21 15:55:01
【问题描述】:

我想知道是否有人可以帮助解决我遇到的问题,我最近在我的测试框架中添加了使用功能内容共享值

这已被放置在 [BeforeScenario] 触发器中

FeatureContext.Current.Add("CreatedUser", createdUser);

然后我用

在 [AfterScenario] 中清理它

FeatureContext.Current.Remove("CreatedUser");

自从添加此内容后,我无法运行超过 1 个测试,如果我单独运行测试(1 对 1),那么它们执行没有问题。

如果我从 Visual Studio 中选择一些测试来运行,第一个运行没有问题,下一个测试将始终失败并出现以下错误。

消息:System.Collections.Generic.KeyNotFoundException:字典中不存在给定的键。 TearDown : System.NullReferenceException : 对象引用未设置为对象的实例。

我添加了删除行,因为我认为功能上下文正在从测试到测试并导致问题,但无论是否删除,我都会收到此错误。

感谢任何帮助

【问题讨论】:

  • 您是否调试过您的案例?选择 2 个测试,在 [AfterScenario] 和 [BeforeScenario] 中设置断点并调查 FeatureContext.Current 的内容。还可以查看引发异常的完整调用堆栈。如果您使用最少的代码示例更新您的问题,那会很好。
  • Yesi 对此进行了调试,发现它在运行我的代码之前被抛出,这就是为什么我没有放置编码示例,因为我认为这不会有用。

标签: nunit specflow


【解决方案1】:

我最终通过删除 Allure NuGet 包解决了这个问题。

我以前安装过

  • Specflow.Allure
  • Allure.Commons

这个包导致了这个问题,我不确定原因,但在删除这个错误后停止发生。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 1970-01-01
    相关资源
    最近更新 更多