步骤:
1.新建WebProject
2.编写配置Struts2
3.导入Junit必备的jar包
4.编写单元测试类
5. 部署,测试
HelloWorld.java
package com.action;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String execute() throws Exception {
// TODO Auto-generated method stub
return SUCCESS;
}
}
struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="default" extends="struts-default" namespace="/">
<action name="login" class="com.action.HelloWorld">
<result>/success.jsp</result>
</action>
</package>
</struts>
HelloWorldTest.java
package com.action;
import static org.junit.Assert.*;
import org.junit.Test;
import com.action.HelloWorld;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldTest {
@Test
public void testExecute() throws Exception {
HelloWorld hello = new HelloWorld();
hello.setName("Hello");
String result = hello.execute();
assertTrue("success result!", ActionSupport.SUCCESS
.equals(result));
final String msg = "Hello";
assertTrue("Expecte dmessage!", msg.equals(hello.getName()));
}
}
出现如下结果:表示测试通过
- 大小: 14.5 KB
- 大小: 32 KB
- 大小: 27.5 KB
- 大小: 12.8 KB
分享到:
相关推荐
3. `struts2-junit-plugin`:Struts2提供了JUnit插件,可以简化Struts2应用的测试,允许直接调用Action方法进行测试。 4. 测试Action类:通过模拟Service层的依赖,直接测试Action类的execute()方法,确保业务逻辑...
这个插件允许开发者在JUnit测试环境中集成Struts2的应用,以便于进行功能测试和集成测试。通过这个插件,你可以直接在JUnit测试用例中执行Struts2的Action,验证业务逻辑,无需启动完整的Web服务器。 在使用`struts...
struts2-junit-plugin-2.1.8.jar 是 Struts2 提供的测试插件,可以用来测试 Struts2.x 中的 Action。 下面是一个基本的测试代码: ```java public class MessageActionTest extends StrutsSpringTestCase { @...
在Struts2中,测试是确保代码质量的重要环节,而`struts2-junit-plugin`则是Struts2框架的一个插件,专门用于集成JUnit进行单元测试。 JUnit是一款广泛使用的Java编程语言的单元测试框架。通过JUnit,开发者可以...
在Struts2中,我们通常使用JUnit作为单元测试工具,结合Mockito等库来模拟依赖,进行隔离测试。 首先,了解Struts2的执行流程:请求到达Servlet容器后,通过StrutsPrepareAndExecuteFilter转发到Struts2的核心拦截...
在Struts2中,可以使用JUnit进行Action的单元测试。测试主要关注以下几个方面: 1. **Action的执行逻辑**:测试Action的`execute`方法是否能正确地返回期望的结果代码(如SUCCESS或ERROR)。 2. **模型验证**:如果...
Spring与Struts2结合使用时,可以通过Spring容器管理Struts2中的Action实例,从而提高代码的可维护性和可扩展性。 #### JUnit4.7 JUnit是一个Java编程语言的单元测试框架。JUnit4.7版本引入了注解特性,使得编写...
在Struts 2中,这些功能被移到了Action类或者ActionSupport基类中。 4. **结果类型**:Action执行后,可以通过Result来决定如何显示视图。结果可以是JSP页面、Freemarker模板、Velocity模板等。 5. **拦截器...
- 在测试案例中,使用模拟的`HttpServletRequest`和`HttpServletResponse`调用`LogonAction`的`execute`方法。 - 验证`execute`方法返回的结果是否符合预期(即返回的成功或失败页面)。 4. **运行测试**: - ...
2. **测试Struts2动作类**:创建Action的实例,模拟ActionContext,调用execute方法,并检查结果代码和模型数据。 3. **测试Spring服务**:使用@Autowired注解注入服务,然后调用其方法并验证结果。 4. **测试...
JUnit是Java常用的单元测试框架,可以与Struts2的TestNG插件结合,方便地对Action进行测试。以下是一个简单的测试案例: ```java import org.junit.Test; import static org.junit.Assert.assertEquals; public ...
9. **测试支持**:Struts2提供了JUnit测试支持,使得对Action的单元测试变得简单。 10. **Ajax支持**:Struts2可以与jQuery等库结合,实现部分页面的异步更新,提高用户体验。 阅读这份中文API文档,开发者可以...
2. **Action类**:在Struts2中,Action类是核心组件,它实现了业务逻辑,并通过execute方法响应用户请求。你可以自定义Action类,实现特定的业务操作。 3. **配置文件**:`struts.xml`是Struts2的主要配置文件,...
9. **测试支持**:Struts2与JUnit集成良好,可以对Action进行单元测试,确保代码质量。 10. **Action的注解**:除了XML配置,Struts2还支持使用注解来声明Action类和方法,简化配置。 总的来说,"Struts2.0中文...
在Struts2中,我们可以使用JQuery库来实现Ajax调用,例如使用`$.ajax`或者`$.post`方法,发送POST请求并将选中的ID作为参数。 2. **Action配置**:在Struts2的配置文件(struts.xml)中,我们需要定义一个对应的...
2. **Action类**:在Struts2中,Action类是业务逻辑的载体。你需要创建一个Action类,继承自`ActionSupport`或自定义的Action父类,并重写`execute()`方法。Action类可以通过注解或XML配置来绑定请求参数。 3. **...
在`struts2Demo`中,我们可以看到如何定义Action方法,以及如何使用`execute()`方法来响应请求。 3. **结果类型与视图**:Struts2支持多种结果类型,如JSP、FreeMarker、Velocity等。结果类型定义了Action执行后...
Action是Struts2中的业务逻辑组件,它处理用户的请求并返回相应的结果。Action类通常继承自`org.struts2.dispatcher.ng.ExecuteAction`或实现`com.opensymphony.xwork2.Action`接口。Action Mapping定义了URL与...
在Struts2中,Action实现了一个简单的`execute`方法即可,该方法返回一个字符串表示的结果类型,如“success”或“error”。此外,Struts2提供了一个基类`ActionSupport`,它实现了许多通用的功能,如验证逻辑和国际...
3. **Action类**:Action类是处理用户请求的核心,实现了Struts2的特定接口,如`ActionSupport`,并重写了`execute()`方法。在Login Demo中,这个类会包含用户验证的逻辑,比如检查用户名和密码是否匹配。 4. **...