如何在junit测试中如何实例化request了
答案:2 悬赏:30 手机版
解决时间 2021-02-08 14:18
- 提问者网友:几叶到寒
- 2021-02-07 19:42
如何在junit测试中如何实例化request了
最佳答案
- 五星知识达人网友:纵马山川剑自提
- 2021-02-07 20:01
使用Struts2的Junit Plugin测试Action是非常的方便的,如果在开发中采用TDD模式的话推荐使用。不说废话了,直入主题,已具体实例说话!
1、在原有的Struts2工程加入JUnit Plugin和它依赖的Spring包:
1. struts2-junit-plugin-2.1.8.jar
2. org.springframework.core-3.0.3.RELEASE.jar
3. org.springframework.test-3.0.3.RELEASE.jar
2、新建个Action,我这里采用的Annotation的方式,可以实现零配置。
TestAction.java
1. @Result(location = "/index.jsp")
2. public class TestAction extends ActionSupport {
3. private String param;
4.
5. public String execute() {
6. return SUCCESS;
7. }
8.
9. public String getParam() {
10. return param;
11. }
12.
13. public void setParam(String param) {
14. this.param = param;
15. }
16.
17. }
3、在工程中添加JUnit包(此步骤略了,搞不定这部的就不要看此篇文章啦!),创建TestCase,TestActionTest.java
1. import java.robinleex.action.TestAction;
2.
3. import org.apache.struts2.StrutsTestCase;
4. import org.junit.Test;
5.
6. import com.opensymphony.xwork2.ActionProxy;
7.
8. public class TestActionTest extends StrutsTestCase {
9.
10. @Test
11. public void testExecute() throws Exception {
12. ActionProxy proxy = null;
13. TestAction test = null;
14.
15. request.setParameter("param", "test...");
16. proxy = getActionProxy("/test.action");
17. test = (TestAction)proxy.getAction();
18.
19. String result = proxy.execute();
20.
21. assertEquals("success", result);
22. assertEquals("test...", test.getParam());
23.
24.
25. }
26.
27. }
跑起来就可以了,非常好用,这个示例测试在Action当中传入一个参数并取出参数值。JUnit Plugin会模拟Servlet容器,模拟出 HttPServletRequest,HttpServletResponse,ServletContext,PageContext...
1、在原有的Struts2工程加入JUnit Plugin和它依赖的Spring包:
1. struts2-junit-plugin-2.1.8.jar
2. org.springframework.core-3.0.3.RELEASE.jar
3. org.springframework.test-3.0.3.RELEASE.jar
2、新建个Action,我这里采用的Annotation的方式,可以实现零配置。
TestAction.java
1. @Result(location = "/index.jsp")
2. public class TestAction extends ActionSupport {
3. private String param;
4.
5. public String execute() {
6. return SUCCESS;
7. }
8.
9. public String getParam() {
10. return param;
11. }
12.
13. public void setParam(String param) {
14. this.param = param;
15. }
16.
17. }
3、在工程中添加JUnit包(此步骤略了,搞不定这部的就不要看此篇文章啦!),创建TestCase,TestActionTest.java
1. import java.robinleex.action.TestAction;
2.
3. import org.apache.struts2.StrutsTestCase;
4. import org.junit.Test;
5.
6. import com.opensymphony.xwork2.ActionProxy;
7.
8. public class TestActionTest extends StrutsTestCase {
9.
10. @Test
11. public void testExecute() throws Exception {
12. ActionProxy proxy = null;
13. TestAction test = null;
14.
15. request.setParameter("param", "test...");
16. proxy = getActionProxy("/test.action");
17. test = (TestAction)proxy.getAction();
18.
19. String result = proxy.execute();
20.
21. assertEquals("success", result);
22. assertEquals("test...", test.getParam());
23.
24.
25. }
26.
27. }
跑起来就可以了,非常好用,这个示例测试在Action当中传入一个参数并取出参数值。JUnit Plugin会模拟Servlet容器,模拟出 HttPServletRequest,HttpServletResponse,ServletContext,PageContext...
全部回答
- 1楼网友:山有枢
- 2021-02-07 21:17
我不会~~~但还是要微笑~~~:)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯