在我们的应用程序测试套件中,我们有随机测试失败并出现此错误: Test'Some_Test_Name'超出了执行超时期限。解决SpecFlow ScenarioContext被丢弃的错误
当我们得到这样的错误时,紧接着的测试也失败并出现此错误: System.Threading.ThreadAbortException:线程被中止。 标准输出消息: - >警告:以前的ScenarioContext未处理。 - >错误:线程正在中止。
我试过各种各样的东西来解决这个问题,但我还没有找到一种方法来访问ScenarioContext来处理它应该是它的情况下。我试着从BeforeScenario中访问它,但总是在错误发生之前发生。
我们解决了一些超时问题,但对于仍然存在的随机问题,我希望能够减少由ScenarioContext问题引起的故障,并从测试结果中删除这些误报。有任何想法吗?
我几乎说的。我明确指出的是,我想删除假当发生这种情况时会出现这种情况,当你的测试运行时发生误报时,这不是一种良性的行为。 –
我很喜欢如果你不觉得这回答了你的问题,你可以试试。我只是解释了这个警告是如何来自specflow代码的。阻止警告的唯一方法是防止超时方案中的超时或停止正在阻止运行清理的代码运行的方法中的异常。另一种方法是修复specflow代码,以便在导致此问题的任何一种情况下清除场景。 –
如果你在specflow github页面上提出了一个问题,我会试着看看可以做些什么来解决它,但不能承诺任何时间尺度。 –