用StrutsTestCase
老家在http://strutstestcase.sourceforge.net/
里面有How does it work?

解决方案 »

  1.   

    http://dev.csdn.net/develop/article/22/22095.shtm
    这是jplateau翻译过的
      

  2.   

    import java.util.List;import servletunit.struts.MockStrutsTestCase;public class UserActionTest extends MockStrutsTestCase {    public UserActionTest(String testName) {
            super(testName);
        }    // Adding a new user is required between tests because HSQL creates 
        // an in-memory database that goes away during tests.
        public void addUser() {
            setRequestPathInfo("/user");
            addRequestParameter("method", "save");
            addRequestParameter("user.firstName", "Juergen");
            addRequestParameter("user.lastName", "Hoeller");
            actionPerform();
            verifyForward("list");
            verifyNoActionErrors();
        }    public void testAddAndEdit() {
            addUser();        // edit newly added user
            addRequestParameter("method", "edit");
            addRequestParameter("id", "1");
            actionPerform();
            verifyForward("edit");
            verifyNoActionErrors();
        }    public void testAddAndDelete() {
            addUser();        // delete new user
            setRequestPathInfo("/user");
            addRequestParameter("method", "delete");
            addRequestParameter("user.id", "1");
            actionPerform();
            verifyForward("list");
            verifyNoActionErrors();
        }    public void testList() {
            addUser();
            setRequestPathInfo("/user");
            addRequestParameter("method", "list");
            actionPerform();
            verifyForward("list");
            verifyNoActionErrors();        List users = (List) getRequest().getAttribute("users");
            assertNotNull(users);
            assertTrue(users.size() == 1);
        }
    }