既存のオブジェクトを使用して特定のメソッドをモックする方法はありますか?
Power Mockを使用してプライベートメソッドをモックしましたが、上記のタスクを実行する方法を見つけることができませんでした。
ありがとう
これを行う最も簡単な方法は、テストケースのメソッドをオーバーライドすることです。
public class ClassToTest {
public int someMethod() {
return 1 + otherMethod();
}
protected int otherMethod() {
return 2;
}
}
public class ClassToTestTest {
@Test
public void testSomeMethod() {
ClassToTest classUnderTest = new ClassToTest() {
@Override
protected int otherMethod() {
return 3;
}
}
Assert.assertEquals(4, classUnderTest.someMethod());
}
}