WEB开发网
开发学院软件开发Java 追求代码质量: 测试 Struts 遗留的应用程序 阅读

追求代码质量: 测试 Struts 遗留的应用程序

 2009-11-19 00:00:00 来源:WEB开发网   
核心提示: 成功的测试用例!请求路径和参数映射好之后,编写测试用例就成了利用 MockStrutsTestCase API 设置相关口令值的问题,追求代码质量: 测试 Struts 遗留的应用程序(7),如清单 6 所示,在这个测试用例中,如果希望能够不止一次地运行这个测试,比如在构建过程中,用户 Jane

成功的测试用例!

请求路径和参数映射好之后,编写测试用例就成了利用 MockStrutsTestCase API 设置相关口令值的问题,如清单 6 所示。在这个测试用例中,用户 Jane 的口令从 “admin” 改成了 “meme”。


清单 6. 一个验证口令修改成功的简单测试用例
public void testExecute() throws Exception{  
 setRequestPathInfo("/changePasswordSubmit");  
 
 addRequestParameter("username","jane"); 
 addRequestParameter("currentPassword","admin"); 
 addRequestParameter("newPassword1","meme"); 
 addRequestParameter("newPassword2","meme"); 
 
 actionPerform();  
 verifyForward("success");  
} 

setRequestPathInfo() 方法配置路径以映射到 Action 类,addRequestParameter() 方法把来自 JSP 文件的参数名称映射到值。例如,在清单 6 中,username 参数映射到 “jane”。

还请注意清单 6 中的最后两行。actionPerform() 方法实际上让 Struts 去调用对应的 Action 类。如果这个方法没被调用,什么也不会发生。最后调用的方法 verifyForward() 是在 MockStrutsTestCase 类中找到的一个类似于断言的方法,它验证正确的转发。在 Struts 中,这是一个 String,通常映射到成功或失败状态。(请注意,清单 5 中的 XML 定义了 “success” 转发。)

用 DbUnit 进行的可重复的成功

这时,您可能希望工作完成 —— 毕竟已经编写了一个企图验证口令修改的测试。但是还缺乏更深的验证。确实,这个方便的框架调用了 Struts,但是代码依赖于数据库。如果希望能够不止一次地运行这个测试,比如在构建过程中,就需要让它可重复。

上一页  2 3 4 5 6 7 8 9 10  下一页

Tags:追求 代码 质量

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接