SAStrutsでActionのユニットテスト

以前SAStrutsでActionのValidationユニットテストをしたいなどと書いたことがあるのですが、それを見てくれたid:newtaさんがSAStrutsのアクションテストクラスを作成されたようです。

SAStrutsのActionのバリデーションもUnitTestしちゃおうの巻

使い方はいたってカンタン。S2ActionTestCaseを継承してちょいとテストクラスを書くだけでOKなのです。

public class CategoryActionTest extends S2ActionTestCase{

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        include("app.dicon");
    }

    public void testIndexOk() throws Exception {
    	super.initAction(CategoryAction.class);
    	assertEquals(super.executeAction("index"), "list.html");
    	assertNull(getErrors());
    }

    public void testInsertOkTx() throws Exception {
    	CategoryAction action = super.initAction(CategoryAction.class);
    	action.categoryForm.name = "hoge";
    	assertEquals(super.executeAction("insert"), "list.html");
    	assertNull(getErrors());
    }

    public void testInsertNGTx() throws Exception {
    	super.initAction(CategoryAction.class);
    	assertEquals(super.executeAction("insert"), "create.html");

    	List<ActionMessage> list = getErrorsMessage("name");
    	for (ActionMessage m : list) {
    		assertEquals(m.getKey(), "errors.required");
    		assertEquals(m.getValues()[0], "name");
    	}
    }
}

いいっすね〜!!アクションのユニットテスト!!
これでアクションのユニットクオリティが上がりまくりですよ!!

いやホント助かります。id:newtaさんありがとうございますm<_ _>m