被測試類:
class A {
public void handle() {
B b = new B();
}
}
測試handle方法,而我不想真正去執行new B()操作,那麼可以使用PowerMockito.whenNew:
@RunWith(PowerMockRunner.class)
@PrepareForTest({A.class})//此處寫被測試類,而不是whenNew的類
public class ATest extends PowerMockTestCase {
@Test
public void testHandle() {
B b = PowerMockito.mock(B.class);
PowerMockito.whenNew(B.class).withNoArguments().thenReturn(b);
}
}
@PrepareForTest後面應該加上被測試的類,而不是要whenNew的類,被這個坑過兩次了,特此記錄下。