有什么方法可以使用现有对象模拟某些方法?
我使用 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());
}
}