j2ee项目实训struts框架技术——第9章基于struts框架的单元测试技术第3部分内容摘要:

{}。 verifyActionErrors(actionErrors)。 verifyInputForward()。 } 在编写 StrutsTestCase 的测试用例时 ,要做的第一件事就是告诉 StrutsTestCase 要测试哪个 ActionMapping 类,在这里要测试 UserInfoAction 组件类 ,它被映射到 文件中的 /userLoginURI 请求路径,因此在测试用例的代码中必须调用 setRequestPathInfo(/userLoginURI)方法。 在默认情况下, StrutsTestCase 测试框架在应用系统的 /WEBINF/文件夹中查找 文件。 如果在系统的 classpath 路径中没有这个文件(在本示例中,没有采用将它放入到 classpath 中),就必须用 文件的完整路径调用 setContextDirectory()和 setConfigFile()方法。 通过调用 actionPerform() 方法,把控制权传递给 Struts 框架以执行测试用例。 一旦控制权从 actionPeform() 方法返回,就可以继续调用 verifyXXX() 方法,验证对程序中的各种假设是否成立。 3)对测试代码的说明 在本示例的应用程序中,希望 测试一下在没有用户名和口令输入的时候,调用UserInfoAction 映射是否会利用出错信息 ActionErrors(用于 )将用户重定向到登录页面。  verifyActionErrors()方法 可以用 String 数组调用 verifyActionErrors()方法,该数组中的各个元素对象指出作为这个事务的结果 错误信息对象。 为了能够设置 错误信息对象的 key 键名称和创建出 ActionErrors 对象,所以创建了一个 String 数组来保存这些出错信息,并把它们发送给 verifyActionErrors() 方法。  verifyInputForward() 方法 该方法检查这个事务的结果是否把用户重定向到动作映射的输入属性指定的页面,在杨教授工作室 精心创作的优秀程序员 职 业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 10/18 页 本示例中,该页面应该是。 测试无效登录的测试目标的实现 1)测试的目的 由于在本例的 UserInfoAction 组件 类中主要是依据用户名称和密码来判断用户登录的合法性,用户名称为“ yang”并且密码为“ 12345678”时,根据业务规则才认为是有效的用户。 2)实现的方法 为此在本测试中故意将用户名称或者密码设置为错误的状态(请见【例 910】中的黑体部分的代码),然后再进行测试。 当控制权从 actionPerform() 返回之后,就可以检查是否利用 这条出错信息把用户重定向到登录错误的信息显示的页面中。 下面的【例 910】所示为具体的实现代码示例。 【例 910】测试无效登录的测试目标的实现代码示例 public void testFailedLogin() { setContextDirectory(new File(C:/))。 setConfigFile(/WEBINF/)。 setRequestPathInfo(/userLoginURI)。 addRequestParameter(userName,yang)。 addRequestParameter(userPassword,1234)。 actionPerform()。 verifyForward(loginFailure)。 //或者采用 verifyForwardPath(/)。 String[] actionErrors = {}。 verifyActionErrors(actionErrors)。 } 测试有效登录测试目标的实现 杨教授工作室 精心创作的优秀程序员 职 业提升必读系列资料 杨教授工作室,版权所有,盗版必究 , 11/18 页 1)测试的目的 验证用户如果输入正确的用户名和口令时,是否能够跳转到登陆成功的页面。 同时,也将测试 request 对象的正确性以及 ActionErrors 对象的正确性(也就是不应该再产 生出错误)。 2)实现的方法 在本测试代码段中首先在请求参数中把用户名设置为 yang,并把口令设置为 12345678,然后再调用 actionPerform()方法以触发请求。 在执行 actionPerform() 方法时,需要调用 verifyForward() 方法,检查用户是否被重定向到成功页面。 它还调用了 verifyNoActionErrors() 方法,以验证在这个事务中没有出现过错误(也就是ActionErrors 对象中应该没有 ActionError 对象)。 具体实现的代码请见前面的【 例 96】所示。 编程实现测试用例类的代码 在测试项目中添加一个测试用例类( TestCase) 1) 添加针对。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。