Java PowerMockito.verifyPrivate始终独立于参数工作
正如标题所述,我可以将verifyPrivate称为verifyPrivate,但即使我向它传递了错误的参数,它也总能给我带来成功 实例 现在这段代码将成功,即使我做了类似的事情Java PowerMockito.verifyPrivate始终独立于参数工作,java,junit,powermockito,Java,Junit,Powermockito,正如标题所述,我可以将verifyPrivate称为verifyPrivate,但即使我向它传递了错误的参数,它也总能给我带来成功 实例 现在这段代码将成功,即使我做了类似的事情 // THEN verifyPrivate(service).invoke("privateMethod", "other string", Role.USER, new SivDto()); 也许我遗漏了什么,但我就是想不出来。首先。您是否在privateMethod中设置了调试点,并查看它被调用了多少次?这会给你
// THEN
verifyPrivate(service).invoke("privateMethod", "other string", Role.USER, new SivDto());
也许我遗漏了什么,但我就是想不出来。首先。您是否在
privateMethod
中设置了调试点,并查看它被调用了多少次?这会给你一些提示。它被呼叫了两次。一次当你打电话的时候
service.getNbInscriptions(operator, role, sivDto);
当你使用
verifyPrivate(service).invoke("privateMethod", operator, Role.ADMINISTRATEUR, sivDto);
由于第二次使用传递给invoke方法的参数调用它,测试总是成功的
使用Spy
而不是Mock
而不是
@InjectMocks
MyService service;
使用
这样,就不会对该方法进行第二次调用,并正确验证参数 我的坏。。。确实有效;)泰!!!顺便说一句,因为我需要将mock注入到正在测试的服务中,所以我最终混合了Spy和Injectmock这两种注释,现在可以按预期工作了!!!多谢各位
@InjectMocks
MyService service;
@Spy
MyService myservice = new MyService(operationSivRepo)