我正在使用 CodeIgniter 开发一些项目,并在 SimpleTest 中编写单元测试和 Web 测试。我注意到我的测试不是确定性的,即它们会及时产生不同的输出。我的意思是测试用例应该是严格确定的,不依赖于随机变量等。
测试看起来像相互影响。很多时候,当一切正常时,我假设有 100 个通过测试,但是当我编写一个失败的新测试方法时,其他几个测试也会失败。但通常在纠正我失败的测试用例中的问题并重新运行整个测试套件 2-3 次之后,整个套件再次通过。
这通常发生在 WebTestCases 上。
你知道可能是什么问题吗?
我不修改任何共享的类变量等。
我看过 SimpleTest 的代码(或多或少,快速分析整个流程很重要),看起来浏览器的实例在启动不同的测试之前被重新创建。
最奇怪的是,重新运行后,一些错误消失了,最后全部消失。这是否涉及一些缓存?
我将不胜感激,因为除了网站上的 API 之外,网络中关于 SimpleTest 的文档/博客条目/论坛帖子实际上并不多。