我们有什么方法可以使用现有对象来模拟某些方法吗?
我使用Power Mock来模拟私有方法,但无法找到完成上述任务的方法。
由于
答案 0 :(得分:2)
如果我理解正确,你需要存根一个真实对象的方法。如果是这种情况,并且您通过Mockito使用PowerMock,则可以查看“间谍”。特征。您可以找到an example here。
答案 1 :(得分:0)
最简单的方法就是覆盖测试用例中的方法。
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());
}
}