永发信息网

如何在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楼网友:山有枢
  • 2021-02-07 21:17
我不会~~~但还是要微笑~~~:)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯