私はしばらくの間、コードをモックしようとしていました。私はキャッチするために私の前にたくさんのものを嘲笑することに慣れていません。Mockito と Easymock を統合した Powermockito を使用しています。
テストしたいメソッド内にあるメソッドをモックするのに苦労しています。だからここに私が直面した状況の例があります:
public class trialClass {
public static int try2(){
return 3;
}
public static int try(int a){
return try2() + a;
}
}
私のテストクラスは次のとおりです。
@RunWith(PowerMockRunner.class)
@PrepareForTest(trial.class)
public class trialTest {
@Before
public void setUp() throws Exception {
PowerMockito.mockStatic(trial.class);
//Here I expect try2() to return 10, even it return 3
PowerMockito.when(trial.try2()).thenReturn(10);
}
@Test
public void testtry() throws Exception {
//After try2() returns 10 recursively inside my try() method,
//I expect result to be 11
Assert.assertEquals(11, trial.try(1));
}
}
私のこの質問は、実際には私のセッション変数から来ています。私のセッションは何らかの値を保持しており、X メソッドはその値を返します。必要なのは、その X メソッドを再帰的にモックすることだけであり、この質問はこのケースをシミュレートするだけです。
助けてくれてありがとう。