ひがやすを技術ブログ

電通国際情報サービスのプログラマ

テストサポート

S2UnitにS2JSF用のテストサポート機能が組み込まれます。
例えば、次のような足し算Actionを考えてみます。

AddAction


public interface AddAction {
String calculate();
}

AddActionImpl


public class AddActionImpl implements AddAction {
private int arg1;
private int arg2;
private int result;
public void setArg1(int arg1) {
this.arg1 = arg1;
}
public void setArg2(int arg2) {
this.arg2 = arg2;
}
public int getResult() {
return result;
}
public String calculate() {
result = arg1 + arg2;
return "addResult";
}
}
POJOなので、普通にテストすればいいのですが、どうしても、ブラウザから入力したような感じでテストしたいという奇特な方は、つぎのようにテストできます。

public class AddActionImplTest extends S2TestCase {
private AddAction addAction;
protected void setUp() {
include("Add.dicon");
}
public void testCalculate() throws Exception {
getRequest().setParameter("arg1", "1");
getRequest().setParameter("arg2", "2");
assertEquals("addResult", addAction.calculate());
assertEquals(3, addAction.getResult());
assertEquals(new Integer(3), getRequest().getAttribute("result"));
}
}

Add.dicon




jsf.actionInterceptor