java - 使用 EasyMock/PowerMock 验证在私有(private)方法中调用了 void 方法

标签 java mocking powermock easymock

我有一个看起来像这样的方法(简化)

private boolean x = someMethodToSetTheValueOfX();

private void method(args){
        if(x){
             method1();
        }else{
             method2();
        }
}

我想写一个单元测试来保证当 x 为真时,方法 1 被调用。我知道我可以使用 PowerMock 的 Whitebox 来设置 x 的值并调用方法,但是我如何确认 method1() 被调用了?请注意,method1() 是无效的。

我不允许使用除 EasyMock/PowerMock 之外的其他框架(如 Mockito)。

最佳答案

您可以使用:

System.out.println("method one was called"); 

如果您可以在像 eclipse 这样的 IDE 中打印到控制台,或者使用:

JOptionPane.showMessageDialogue(null, "method one was called");

然后将它们放在 method1 中

关于java - 使用 EasyMock/PowerMock 验证在私有(private)方法中调用了 void 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37706431/

相关文章:

android - PowerMockito:模拟的 NotAMockException

java - powermock 中意外的方法调用异常

java - CNAME 和 cookie

java - 使用mockito进行单元测试时抛出WrongTypeOfReturnValue异常

java - Mock Mule JavaComponent

unit-testing - 如何在PowerMockito中模拟java.lang.reflect.Method类?

java - PowerMock 与依赖注入(inject)

java - 使用 Jetty 在 Geronimo v2.1 下使用 Spring

java - JAXB - 编码器写入系统输出但不写入 XML 文件

java - 如何将图像添加到 Firestore 数据库中的记录