咨询热线:400-818-1122
首页
致远软件专题首页 > 最新更新
车辆精准定位软件开发
上传日期:2019-10-14 14:44 文章来源:

      要设计合理的等待策略来保守地使用外部系统。很多情况下,外部系统处于某种特定的状态是测试得以通过的条件,譬如 HTTP 服务必须启动完毕,某个文件必须存在等。在车辆精准定位软件开发编写测试时,开发者常常对外部系统的估计过于乐观,认为外部系统可以迅速处于就绪状态。

      而运行时由于机器和环境的差异,结果往往不如开发者所愿。为了确保测试的稳定性,开发者一定要设计合理的等待策略保证外部系统处于所需状态。致远服软认为:http://www.soft8.com.cn/之所以使用“等待策略”这个词,是因为最常见“保证外部系统处于所需状态”的方法是万恶的“Thread.sleep”,当测试运行在运算速度或网络连接速度差异较大的机器上时,它会引起随机失败。而比较合理的方法是利用轮询的方式查看外部系统是否处于所需状态(譬如某个文件存在、端口打开等),只有当状态满足时,才运行测试或者进行 Assertion。为了避免进入无限等待的状态,开发者还应该设计合理的timeout策略,帮助确定测试失败的原因。

      要正确地创建和销毁资源。漠视车辆精准定位软件开发测试环境的清理也常常是产生脆弱测试的原因,它主要表现在测试之间互相影响,测试只有按照某种顺序运行时才会成功/失败。

      这种问题一旦出现会变得非常棘手,开发者必须逐一对有嫌疑的测试运行并分析。因此,开发者有必要在开始时就处理好资源的创建和销毁,使用资源时应当本着这样一个原则:谁创建,谁销毁。JUnit在环境清理方面所提供的支持有它的局限性。下面的代码是使用资源最普遍的方式。

      为了确保资源A与资源B被正确销毁,大连钉钉办公系统二次开发者必须将销毁资源的逻辑写在teardown方法中。然而运行用例test1时,资源B并未被创建,所以开发者必须在teardown中同时处理资源A或B没有被创建的情况,由于需要销毁的资源是用例中所使用资源的并集,teardown方法会快速地膨胀。

      因为这样,我在开源项目junit-ext中加入了对Precondition的支持,在车辆精准定位软件开发测试用例运行前,其利用标注所声明的多个Precondition的setup方法会被逐一调用来创建资源,而测试结束时则调用teardown方法销毁资源。

免责声明:网站内涉及到图片及相关文字如涉及到侵权,请及时联系我们处理
< 返回列表
最新更新推荐
致远服软让IT更简单,更安全,更有价值
咨询热线:400-818-1122