jsp判断用户名重复_追求代码质量(5): 可重复的系统测试

本文介绍了如何使用DbUnit解决在JSP测试中遇到的可重复性问题,通过DbUnit确保测试数据的一致性,提高测试的自动化和可靠性。文章详细讲解了DbUnit的使用方法,以及如何结合Cargo工具自动化Web应用程序的部署和测试,以实现系统的重复测试。
摘要由CSDN通过智能技术生成

在本质上,像 JUnit 和 TestNG 一样的测试框架方便了可重复性测试的创建。由于这些框架利用了简单 Boolean 逻辑(以 assert 方法的形式)的可靠性,这使得无人为干预而运行测试成为可能。事实上,自动化是测试框架的主要优点之一 —— 我能够编写一个用于断言具体行为的相当复杂的测试,且一旦这些行为有所改变,框架就会报告一个人人都能明白的错误。

利用成熟的测试框架会带来框架 可重复性的优点,这是显而易见的。但逻辑的 可重复性却取决于您。例如,考虑创建用于验证 Web 应用程序的可重复测试的情况,一些 JUnit 扩展框架(如 JWebUnit 和 HttpUnit)在协助自动化的 Web 测试方面非常好用。但是,使测试的 plumbing 可重复则是开发人员的任务,而这在部署 Web 应用程序资源时很难进行。

实际的 JWebUnit 测试的构造过程相当简单,如清单 1 所示:

清单 1. 一个简单的 JWebUnit 测试

c5a1ff58008024cb96b73af0688e1f99.png

这个测试与一个 Web 应用程序通信,并试图创建一个基于该交互的小部件。该测试随后校验此部件是否被成功创建。读过本系列之前部分的读者们也许会注意到该测试的一个微妙的可重复性问题。您注意到了吗?如果这个测试用例连续 运行两次会怎样呢?

由这个小部件实例(即,widget-id)的验证方面可以判断出,可以安全地做出这样的假设,即此应用程序中的数据库约束很可能会阻止创建一个已经存在的额外的小部件。由于缺少了一个在运行另一个测试前删除此测试用例的目标小部件的过程,如果再连续运行两次,这个测试用例非常有可能会失败。

幸运的是,如前面文章中所探讨的那样,有一个有助于数据库-依赖性(database-dependent)测试用例可重复性的机制 —— 即 DbUnit。

使用 DbUnit

改进 清单 1 中的测试用例来使用 DbUnit 是非常简单的。DbUnit 只需要一些插入数据库的数据和一个相应的数据库连接,如清单 2 所示:

清单 2. 用 DbUnit 进行的数据库-依赖性测试

5181872a14050da30863991f9727d5b9.png

加入了 DbUnit,测试用例真的是可重复的了。在 handleSetUpOperation() 方法中,每当运行一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值