这篇文章给大家分享的是有关Struts2中如何使用Junit测试Action的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在原有的Struts2工程加入JUnit Plugin和它依赖的Spring包:
struts2-junit-plugin-2.1.8.jar org.springframework.core-3.0.3.RELEASE.jar org.springframework.test-3.0.3.RELEASE.jar
新建个Action,我这里采用的Annotation的方式,可以实现零配置。TestAction.java
@Result(location = "/index.jsp") public class TestAction extends ActionSupport { private String param; public String execute() { return SUCCESS; } public String getParam() { return param; } public void setParam(String param) { this.param = param; } }
在工程中添加JUnit包(此步骤略了,搞不定这部的就不要看此篇文章啦!),创建TestCase,TestActionTest.java
import java.robinleex.action.TestAction; import org.apache.struts2.StrutsTestCase; import org.junit.Test; import com.opensymphony.xwork2.ActionProxy; public class TestActionTest extends StrutsTestCase { @Test public void testExecute() throws Exception { ActionProxy proxy = null; TestAction test = null; request.setParameter("param", "test..."); proxy = getActionProxy("/test.action"); test = (TestAction)proxy.getAction(); String result = proxy.execute(); assertEquals("success", result); assertEquals("test...", test.getParam()); } }
跑起来就可以了,非常好用,这个示例测试在Action当中传入一个参数并取出参数值。JUnit Plugin会模拟Servlet容器,模拟出 HttPServletRequest,HttpServletResponse,ServletContext,PageContext...
感谢各位的阅读!关于“Struts2中如何使用Junit测试Action”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!