集成测试 – 如何管理端到端测试的测试夹具?

刚刚
set up a test framework for a new web application,我意识到我错过了一个大问题:“我如何让测试彼此独立?”

几年前,我已经设置了一些复杂的Ant脚本,可以完全删除所有数据库表,再次创建模式,添加测试数据,启动应用程序,运行一个测试然后停止应用程序.由于运行整个套件所花费的时间,维持并限制我们进行夜间测试是一种痛苦.它仍然值得,但我想知道是否有一个更简单的方法.

这种方法有替代方案吗?主要标准是每个测试都不应受套件中任何其他测试的影响,无论测试失败还是成功.

最佳答案 对于记录:我现在正在做的是在应用程序中配置一个特殊资源,它重置整个数据库(删除所有内容,添加默认用户).仅当应用程序以“测试模式”启动时,此资源才绑定到URL.由于我们的应用程序(主要)是RESTful,因此无论如何都可以从外部添加新对象.我们的测试的基类在设置测试用例期间调用资源.

我不太喜欢这个解决方案,因为它需要对正在测试的应用程序进行更改,并且存在潜在的安全风险.实际上我在删除任何内容之前至少测试过三次旗帜,如果设置了标志,则首页上会有一个大的,红色的,闪烁的标题(十年来第一次使用闪烁标记的好借口) ).但它仍然有点可怕.

点赞