djUnitを使用する上での最大の利点と言っても良いのがVirtual Mock Objects(仮想モックオブジェクト)が使用出来る事です。
このVirtual Mock Objectsを使用すると作成したクラスでUtilクラスなどのメソッドを使用している場合、使用しているメソッドの戻り値を自由に変更する事が可能となります。
djUnitでメソッドの返却値を好みのものに変更する場合は「addReturnValue」メソッドを使用します。
「addReturnValue」メソッドの使用タイミングとしては、作成したクラスで使用している共通クラスのメソッドなどが未完成の場合でスタブが必要になるケースなどが考えられます。
Javaソース
1 2 3 4 5 6 7 8 9 10 11 |
public class UtilClass1{ /** * <p>[概 要] サンプルメソッド</p> * <p>[詳 細] </p> * <p>[備 考] </p> * @return 文字列 */ public static String getStr(){ return "hoge"; } } |
djUnitサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import jp.co.dgic.testing.framework.DJUnitTestCase; import org.junit.Test; public class UtilClassDjUnitTest extends DJUnitTestCase { @Test public void testGetStr() { // 準備:getStrメソッドの返却値を好みのものに変更します。 String expected = "test"; addReturnValue(UtilClass1.class, "getStr", expected); // 実行 String result = UtilClass1.getStr(); // 検証 assertEquals("文字列が一致していません。", expected, result); } } |