在清单 12 中,我验证了 清单 2 中的逻辑正确地捕捉到了口令值不匹配的情况。MockStrutsTestCase 类包含一个方便方法可以断言错误条件,这个方法是 verifyActionErrors(),在这个方法中,错误 String 被传递进来进行验证。还请注意,数据库被检查,这次是根据另一个包含相同值的文件(在这个示例中,username “jane” 有一个未加密的 password “admin”)。
Struts 的集成测试
多数 Struts 应用程序不会 很快消失,所以重要的是知道如何在重写之前用开发人员测试构建一定层次的保证。这个月,我介绍了在测试 Struts 遗留应用程序时的一些挑战,并介绍了如何用 StrutsTestCase 和 DbUnit 处理它们。
StrutsTestCase 只要配置正确就会处理 Struts 的工作,而 DbUnit 处理与数据库有关的代码的工作。一起使用这两个框架,可以在 Struts 应用程序上进行集成级别的测试,而不用通过更高层次的框架(例如 JWebUnit 或 Selenium)模拟浏览器(也是一个值得采用的方法,但是生成的结果非常不同。)
Struts 应用程序对测试来说是 具有挑战性的,并且没有解决的方法。这个困难是 Struts 框架被更加创新的框架所掩盖的原因之一,特别是那些解决了测试容易问题的框架。另一方面,就像我在这里介绍的,测试 Struts 是 可能的 —— 只是需要费些力气。
文章来源于领测软件测试网 https://www.ltesting.net/