TestCactusLoginAction .java
// StrutsTestCase - a JUnit extension for testing Struts actions
// within the context of the ActionServlet.
// Copyright (C) 2002 Deryl Seale
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the Apache Software License as
// published by the Apache Software Foundation; either version 1.1
// of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// Apache Software Foundation Licens for more details.
//
// You may view the full text here: http://www.apache.org/LICENSE.txt
package examples.cactus;
import java.io.File;
import servletunit.struts.CactusStrutsTestCase;
public class TestCactusLoginAction extends CactusStrutsTestCase {
public TestCactusLoginAction(String testName) {
super(testName);
}
public void setUp() throws Exception {
super.setUp();
setInitParameter("validating", "false"); //添加
this.setConfigFile("/WEB-INF/struts-config.xml");//添加
}
public void testSuccessfulLogin() {
addRequestParameter("username", "deryl");
addRequestParameter("password", "radar");
setRequestPathInfo("/login");
actionPerform();
verifyForward("success");
verifyForwardPath("/main/success.jsp");
assertEquals("deryl", getSession().getAttribute("authentication"));
verifyNoActionErrors();
}
public void testFailedLogin() {
setConfigFile("/WEB-INF/struts-config.xml");
addRequestParameter("username", "deryl");
addRequestParameter("password", "express");
setRequestPathInfo("/login.do");
actionPerform();
verifyForward("login");
verifyForwardPath("/login/login.jsp");
verifyInputForward();
verifyActionErrors(new String[] { "error.password.mismatch" });
assertNull(getSession().getAttribute("authentication"));
}
public static void main(String[] args) {
junit.textui.TestRunner.run(TestCactusLoginAction.class);
}
}
MockStrutsTestCase
// StrutsTestCase - a JUnit extension for testing Struts actions
// within the context of the ActionServlet.
// Copyright (C) 2002 Deryl Seale
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the Apache Software License as
// published by the Apache Software Foundation; either version 1.1
// of the License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// Apache Software Foundation Licens for more details.
//
// You may view the full text here: http://www.apache.org/LICENSE.txt
package examples;
import java.io.File;
import servletunit.struts.MockStrutsTestCase;
public class TestLoginAction extends MockStrutsTestCase {
public TestLoginAction(String testName) {
super(testName);
}
public void setUp() throws Exception {
super.setUp();
setInitParameter("validating", "false");
//找到WebRoot和配置文件
setContextDirectory(new File("WebRoot"));
this.setConfigFile("/WEB-INF/struts-config.xml");
}
public void testSuccessfulLogin() {
setRequestPathInfo("/login");
addRequestParameter("username", "deryl");
addRequestParameter("password", "radar");
actionPerform();
verifyForward("success");
assertEquals("deryl", (String) getSession().getAttribute(
"authentication"));
verifyNoActionErrors();
}
public void testFailedLogin() {
setConfigFile("/WEB-INF/struts-config.xml");
addRequestParameter("username", "deryl");
addRequestParameter("password", "express");
setRequestPathInfo("/login");
actionPerform();
verifyForward("login");
verifyForwardPath("/login/login.jsp");
verifyInputForward();
verifyActionErrors(new String[] { "error.password.mismatch" });
assertNull(getSession().getAttribute("authentication"));
}
public static void main(String[] args) {
junit.textui.TestRunner.run(TestLoginAction.class);
}
}
分享到:
相关推荐
这个工程例子是基于StrutsTestCase的,它提供了实际操作和理解StrutsTestCase如何工作的实例。 在Struts应用程序中,Action类是处理用户请求的核心组件,通常负责业务逻辑的调用和视图的转发。然而,由于Struts的...
StrutsTestCase是Apache Struts框架的一个扩展,它提供了一种集成测试工具,使得开发者能够方便地对基于Struts的应用程序进行单元测试和功能测试。这个压缩包“StrutsTestCase-2.1.4(含文档、源码、官方示例).rar...
strutsTestCase所需要用到的jar org.springframework.core-3.1.2.RELEASE.jar spring-test.jar struts2-junit-plugin-2.3.16.3.jar xmlbeans-2.3.0.jar xmlpull-1.1.3.1.jar xstream-1.4.2.jar xwork-core-2.3.16.3....
因为StrutsTestCase的MockStrutsTestCase不会在启动时初始化监听器,所以将所有上下文文件放置在插件中是一种变通方法。 配置完插件后,就可以让Spring管理你的Action了。Spring1.1.3提供了两种方式: 1. 覆盖...
- **使用StrutsTestCase测试Action**:介绍了如何使用StrutsTestCase测试框架来模拟HTTP请求和响应,以便更全面地测试Action的行为。 - **使用StrutsTestCase(Mock Mode)逐步操作**:给出了使用Mock模式下的...
在Java编程语言中,异常处理是一项关键特性,用于在程序执行过程中捕获并处理错误或非正常情况。...在使用StrutsTestCase或其他工具进行开发和测试时,正确处理这两类异常是确保代码质量、提高软件可靠性的重要手段。
4. **StrutsTestCase**:StrutsTestCase是Struts提供的一个单元测试框架,它允许开发者对ActionForm、Action和ActionForward进行测试,确保这些组件在实际运行前功能正确。使用StrutsTestCase,可以编写模拟HTTP请求...
Struts是目前非常流行的基于MVC的Java Web框架。...第19章到第21章介绍了如何采用第三方软件,如Apache Common Logging API、Log4J、ANT和StrutsTestCase,来控制Struts应用的输出日志、管理以及测试Struts应用项目。
内容推荐 Struts是目前非常流行的基于MVC的Java ...第19章到第21章介绍了如何采用第三方软件,如Apache Common Logging API、Log4J、ANT和StrutsTestCase,来控制Struts应用的输出日志、管理以及测试Struts应用项目。
Struts是目前非常流行的基于MVC的Java Web框架。...第19章到第21章介绍了如何采用第三方软件,如Apache Common Logging API、Log4J、ANT和StrutsTestCase,来控制Struts应用的输出日志、管理以及测试Struts应用项目。
Struts是目前非常流行的基于MVC的Java Web框架。...第19章到第21章介绍了如何采用第三方软件,如Apache Common Logging API、Log4J、ANT和StrutsTestCase,来控制Struts应用的输出日志、管理以及测试Struts应用项目。
Struts是目前非常流行的基于MVC的Java Web框架。...第19章到第21章介绍了如何采用第三方软件,如Apache Common Logging API、Log4J、ANT和StrutsTestCase,来控制Struts应用的输出日志、管理以及测试Struts应用项目。
Struts是目前非常流行的基于MVC的Java Web框架。...第19章到第21章介绍了如何采用第三方软件,如Apache Common Logging API、Log4J、ANT和StrutsTestCase,来控制Struts应用的输出日志、管理以及测试Struts应用项目。
本书由Richard Hightower撰写,于2004年由SourceBeat, LLC出版,旨在为读者提供全面深入的Struts框架理解和应用指导。以下是基于该书内容的关键知识点概览: ### Struts Quick Start Tutorial #### 下载Struts - *...
第19章到第21章介绍了如何采用第三方软件,如Apache Common Logging API、Log4J、ANT和StrutsTestCase,来控制Struts应用的输出日志、管理以及测试Struts应用项目。 这个真的是包含所有的源码。。。
Struts1的Action由于暴露了Servlet API,测试需要在容器内进行,通常依赖于StrutsTestCase这样的工具。然而,Struts2的Action可以通过依赖注入轻松地进行单元测试,Action的属性可以被初始化和设置,使得测试更加...
5. **test**:包括JUnit、Cactus和StrutsTestCase测试用例,确保代码质量。 6. **tools**:包含辅助工具,如Strutsgen,用于从ActionForms生成JSP页面。 7. **web**:包含了JSP、属性文件、图片、脚本和样式表,这些...
Struts2框架是一款广泛应用于Java Web开发中的开源MVC框架,它简化了Web应用程序的构建,使得业务逻辑、控制逻辑和视图层得以分离。单元测试对于任何软件项目都至关重要,因为它能确保代码的正确性,提高代码质量...