###前提・実現したいこと
JMockitで、メソッドAのテストをする際に、メソッドA内から呼び出しているメソッドBの挙動を置き換えたいです。
挙動を置き換えたいのはメソッドBのみです。
###テスト対象
Java
1public class Person { 2 private int weight = 0; 3 4 public int A(){ // テスト対象 5 B(); 6 return weight + 10; 7 } 8 9 public void B(){ // テスト時は挙動を変えたい 10 weight = 50; 11 } 12}
###作成してみたテストクラス
Java
1public class PersonTest { 2 @Injectable 3 private Person p; 4 5 int weight = 0; 6 7 @Test 8 public void testA() { 9 new Expectations() {{ 10 p.B(); 11 result = new Delegate() { 12 void B(){ 13 weight = 80; 14 } 15 }; 16 }}; 17 assertEquals(90, p.A()); 18 } 19}
###発生している問題・エラーメッセージ
p.A()からは0が返ってきてうまく行きませんでした。
実際にはもっと複雑なプログラムなので、B()はメソッド置き換えでテストすることが必須です。
###補足情報(言語/FW/ツール等のバージョンなど)
Java 8
JUnit 4.12
JMockit 1.30
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/29 01:22