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