2017-12-08 9 views
1

メソッドに渡される引数クラスの非静的メソッドをモックする方法はありますか? 私は法の下にテストしています:インスタンスが引数として渡されるクラスの静的でないメソッドをモックする方法はありますか?

public Seed getAppleSeed(AppleTree appleTree){ 
    Seed appleSeed = appleTree.getApple().getSeed(); 
    //Some logic flow 
} 

クラスの残りの部分は以下の通りです:

public class AppleTree{ 
    public Apple getApple(){ 
     return new Apple(): 
    } 
} 

public class Apple{ 
    public Seed getSeed(){ 
     return new Seed(): 
    } 
} 

最終目標は、私が電話をモックする必要のあるgetAppleSeed()メソッドの流れをテストすることですgetAppleとgetSeedを取得します。このように、モックで

おかげ

答えて

0

を:

AppleTree appleTree = Mockito.mock(AppleTree.class); 
Apple apple = Mockito.mock(Apple.class); 

Seed seed = new Seed(); 

Mockito.when(appleTree.getApple()).thenReturn(apple); 
Mockito.when(apple.getSeed()).thenReturn(seed); 

Seed actual = getAppleSeed(appleTree); 

assertThat(actual, is(seed)); 

実際のコードは、あなたの質問に概説されているものと同じくらい簡単であるならば、私はモックする必要がないことを示唆していると思いますけどAppleまたはAppleTree

関連する問題