いつもお世話になっております。
現在単体試験中なのですが、JUnitでJmokitを利用してモックを作成中です。
色々調べてみたのですが、私には難解でいま一つ理解出来てません…
やりたいこと
テスト対象のクラスの一部分(プライベートメソッド)をモック化し、振る舞いを指定したい。
わからないこと
@Mocked、@Testedアノテーションの作用の具体的な説明。
サンプルコード
java
1public class Aaa { 2 /** フィールド1 */ 3 private String bbbb = new String(); 4 // パブリックのメソッド 5 public String cccc () { 6 etc.... 7 return "hoge"; 8 } 9 // プライベートのメソッド 10 private string dddd (String eeee) { 11 etc... 12 return eeee; 13}
java
1public class AaaTest { 2 @Mocked 3 Aaa a; 4 5 @Test 6 public void testAaa() { 7 new Expectations() {{ 8 a.dddd(anyString);←SCOPEがプライベートなので定義出来ない。 9 result "piyopiyo"; 10 }}; 11 String ffff = a.dddd("monga") 12 String gggg = a.cccc();←こちらのメソッドは本物を動作させたい。 13 assertEquals("piyopiyo",ffff); 14 } 15}
上記ソースのメソッドddddだけをモックにしてテストしたいのですがテストコードの書き方で行き詰っています。
有識者の方、どうかよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー