我使用JUnit运行专为Cucumber设计并在Firefox上运行的测试,但现在它们已转移到Windows应用程序上工作。
当JUnit从eclipse运行时,它标记了成功或失败的每一步。我认识到当它执行步骤#3(例如)时,它标志着当前执行了步骤#2。当步骤完成时,它会在步骤#2附近写入多长时间。它令人困惑,但我可以使用它。
但现在我认识到了一件很棒的事情:我在第3步中将absolute
添加到了Windows应用程序的代码中。它导致第二步(当实际运行时)等待一分钟!虽然第二步不应该知道这个Sleep(60000)
!
我得出结论,JUnit与第二步一起运行第三步,这就是造成这种混乱的原因。
此外,出于同样的原因,当运行模式下的JUnit与处于调试模式时#3的结果不同时,#3的结果也是如此。在调试模式下,每个步骤都单独运行,因此#3的结果是预期的结果。但是在运行模式下,它会与下一步一起运行并使自己感到困惑。
我的结论是否正确?我该如何解决?这是一个已知的错误吗?