jar包管理一般用maven的depency
先看以下:
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-junit-plugin</artifactId>
<version>2.3.16</version>
<scope>test</scope>
</dependency>
这是struts2-junit-plugin的依赖
然后我们看struts2的配置文件:
<?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="test" namespace="/begin" extends="struts-default">
<action name="helloWorld" class="com.xt.elink.HelloWorld">
<result>/welcome.jsp</result>
</action>
</package>
</struts>
再接下来,我们去找相对应的class
package com.xt.elink;
import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class HelloWorld extends ActionSupport{
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String execute() throws Exception {
//TODO
return SUCCESS;
}
}
这样我们就可以写我们的junitTest了
package com.xt.elink;
import org.apache.struts2.StrutsTestCase;
import org.apache.struts2.dispatcher.mapper.ActionMapping;
import org.junit.Test;
import com.opensymphony.xwork2.ActionProxy;
public class StrutsTest extends StrutsTestCase{
@Test
public void testGetActionMapping() {
ActionMapping mapping = getActionMapping("/begin/helloWorld.action");
assertNotNull(mapping);
assertEquals("/begin", mapping.getNamespace());
assertEquals("helloWorld", mapping.getName());
}
@Test
public void testGetActionProxy() throws Exception {
request.setParameter("username", "FD");
ActionProxy proxy = getActionProxy("/begin/helloWorld.action");
assertNotNull(proxy);
HelloWorld action = (HelloWorld) proxy.getAction();
assertNotNull(action);
String result = proxy.execute();
assertEquals("success", result);
assertEquals("FD", action.getUsername());
}
}