Struts的测试:
1. 要测试的Action
- package examples;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.struts.action.Action;
- import org.apache.struts.action.ActionForm;
- import org.apache.struts.action.ActionForward;
- import org.apache.struts.action.ActionMapping;
- public class AddAction extends Action{
- public ActionForward execute(ActionMapping mapping,
- ActionForm form,
- HttpServletRequest request,
- HttpServletResponse response) {
- AddForm addForm=(AddForm)form;
- String a=addForm.getA();
- String b=addForm.getB();
- System.out.println(a+b);
- request.getSession().setAttribute("c", a+b);
- return mapping.findForward("result");
- }
- }
2. 测试类
- package examples;
- import servletunit.struts.MockStrutsTestCase;
- public class TestAddAction extends MockStrutsTestCase {
- public TestAddAction(String testName){
- super(testName);
- }
- public void setUp() throws Exception {
- super.setUp();
- File contextFile = new File("D:\\strutsTest\\WebRoot");
setContextDirectory(contextFile); - }
- public void testAdd(){
- this.addRequestParameter("a", "1");
- this.addRequestParameter("b", "2");
- //设置web应用的请求
- setRequestPathInfo("/add");
- //执行这个请求
- actionPerform();
- //验证forward名字是否正确
- verifyForward("result");
- //验证froward路径是否正确
- verifyForwardPath("/main/result.jsp");
- //断言
- assertEquals("12",getSession().getAttribute("c"));
- //验证在action执行过程中没有ActionErrors产生
- // verifyNoActionErrors();
- }
- public static void main(String[] args) {
- junit.textui.TestRunner.run(TestAddAction.class);
- }
- }
3.测试结果
- .12
- Time: 2.375
- OK (1 test)