正如标题所述,我可以调用verifyPrivate,但是即使我将错误的参数传递给它,它也总能给我带来成功。
实际示例] >>
@RunWith(PowerMockRunner.class) @PrepareForTest({MyService.class}) public class MyServiceTest { @InjectMocks MyService service; @Mock OperationSivRepo operationSivRepo; @Test public void getNbInscriptions_should_call_getNbOperationsSiv_with_OPERATION_INSCRIPTION_GAGE() throws Exception { // GIVEN Role role = Role.ADMINISTRATEUR; String operator = "operator"; SivDto sivDto = new SivDto(); // WHEN service.getNbInscriptions(operator, role, sivDto); // THEN verifyPrivate(service).invoke("privateMethod", operator, Role.ADMINISTRATEUR, sivDto); } }
现在,即使我执行类似操作,此代码也会成功执行
// THEN verifyPrivate(service).invoke("privateMethod", "other string", Role.USER, new SivDto());
也许我丢失了一些东西,但我无法弄清楚。
如标题所述,我可以调用verifyPrivate,但是即使我将错误的参数传递给它,它也总能给我带来成功。实际示例@RunWith(PowerMockRunner.class)@PrepareForTest({MyService.class})...
首先。您是否在privateMethod
中放置了调试点,并查看了它被调用了多少次?这会给您一些提示。它被调用了两次。一次致电