掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
使用Struts2的Junit Plugin測(cè)試Action是非常的方便的,如果在開(kāi)發(fā)中采用TDD模式的話推薦使用。不說(shuō)廢話了,直入主題,已具體實(shí)例說(shuō)話!

在遷西等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需求定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站制作,遷西網(wǎng)站建設(shè)費(fèi)用合理。
1、在原有的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
2、新建個(gè)Action,我這里采用的Annotation的方式,可以實(shí)現(xiàn)零配置。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;
- }
- }
3、在工程中添加JUnit包(此步驟略了,搞不定這部的就不要看此篇文章啦!),創(chuàng)建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());
- }
- }
跑起來(lái)就可以了,非常好用,這個(gè)示例測(cè)試在Action當(dāng)中傳入一個(gè)參數(shù)并取出參數(shù)值。JUnit Plugin會(huì)模擬Servlet容器,模擬出 HttPServletRequest,HttpServletResponse,ServletContext,PageContext...
示例源碼請(qǐng)見(jiàn)附件!
有問(wèn)題可以聯(lián)系作者,聯(lián)系方式:[email protected]
【編輯推薦】

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流