【发布时间】:2017-09-05 16:05:42
【问题描述】:
我的 Specflow 测试场景遇到了一个奇怪的问题。在“何时”步骤中,我将 ScenarioContext 设置如下以传递数据:
ScenarioContext.Current.Add("mykey",ListOfStrings);
在“然后”步骤中,我正在从场景上下文中检索我的集合,如下所示
ScenarioContext.Current.Get<IList<string>>("mykey");
它在我的本地机器上工作正常,但是当我触发 VSTS 构建时,它会抛出异常
“System.Collections.Generic.KeyNotFoundException:给定的键未出现在字典中”
我发现此异常的原因是 ScenarioContext 字典在“然后”步骤中变为空。 虽然,在同一个项目中,其他类似的测试用例场景在我以相同方式使用 ScenarioContext 的情况下工作正常。但是在这个特定的测试场景中,我遇到了这个问题,即 SenarioContext 在“然后”步骤中重置为 null 并在 VSTS 构建期间抛出异常。任何建议将不胜感激。
【问题讨论】:
-
构建定义的任务是什么?您为 SpecFlow 使用了哪个测试框架?提供您的项目的详细信息。
-
基于我的测试(带有SpecFlow的单元测试项目),它工作正常,该项目仍然存在于Then步骤中,你能分享详细的构建日志和OneDrive上的一个简单项目吗?
标签: automated-tests specflow azure-pipelines