我使用运行其测试的 Bitbucket 管道开发 React 应用程序(开玩笑)。有一个测试有时会失败,有时不会,我想修复它,但我无法真正检查我的解决方案是否有效。有人知道重现不稳定测试失败的方法吗?
不稳定的测试,无论是哪种语言,都是由测试运行环境的意外变化引起的。
如果您可以在本地和隔离地重现故障,则可能是由于测试引用了环境的不确定部分,例如系统时间、随机数或网络连接。
如果您可以在本地重现故障,但不能单独重现,则很可能是一个测试将状态泄漏到全局环境中,导致失败的测试中断。
而且,如果您无法在本地重现故障,无论顺序如何,您可能正在处理两个测试之间的竞争条件,这两个测试在并行执行时访问相同的共享全局状态。
我写了一个类似问题的更详细的答案,here.