java - 如果其中一个是静态的,你能用 Mockito/PowerMock 模拟一系列方法调用吗?

标签 java unit-testing mockito powermock

假设我正在单元测试的一段代码中有以下行:

SomeClass.method1().method2();

其中 SomeClass 是一个类,method1() 是 SomeClass 中的一个静态方法,它返回某个实例,比如“aClass”,method2() 是一个可以从类中调用的方法“aClass”的实例。

是否可以模拟整个链,以便返回我想要的结果?目前我知道我可以做类似的事情:

BDDMockito.given(SomeClass.method1()).willReturn(mockedAClass);
when(mockedAClass.method2()).thenReturn(true);

但我宁愿做这样的事情:

when(SomeClass.method1().method2()).thenReturn(true);

这可能吗?


编辑:这个问题被标记为重复,但我的问题与“重复”问题之间存在很大差异。在我的问题中,第一种方法是静态的,第二种方法不是。我似乎无法让 mockito 链接模拟这个静态方法,这让我相信这不是同一个答案。

最佳答案

关于java - 如果其中一个是静态的,你能用 Mockito/PowerMock 模拟一系列方法调用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32230706/

相关文章:

java - 由 : org. springframework.beans.factory.NoSuchBeanDefinitionException 引起:运行测试时

java - 使用 Mockito 模拟静态方法

unit-testing - 如何测试观察者?

swift - 如何覆盖私有(private) init

angular - 监视返回可观察对象的函数

Java 存储 UUID

java - RavenDB 查询中的 StreamResult 参数类型

ios - 在 iOS 中使用 OCMock 测试 void 方法

JavaFX如何在不同窗口中的两个 Controller 之间进行通信

java - 从字节[]转换为文件(十六进制值)时出错