gpt4 book ai didi

java - 使用 Mockito/PowerMockito 模拟私有(private)最终静态对象

转载 作者:太空宇宙 更新时间:2023-11-04 08:08:39 25 4
gpt4 key购买 nike

我目前正在尝试模拟类中的私有(private)最终静态对象。我的对象似乎没有被正确地 mock 。

示例:
代码:在主类中

public class Main {

private final static serviceA obj = new serviceA();

public somemethod { return true; }

}

mock :在我的测试课中,我有

Public class TestMain {

private Main mainObj;
private static serviceA obj;

@Before
public void setupBeforeTest() {

obj = Mockito.mock(serviceA.class);
PowerMockito.whenNew(serviceA.class).withNoArguments().thenReturn(obj);
mainObj= Mockito.spy(new Main());
}
}

但是 obj 没有返回我在执行时指定的值

Mockito.when(obj.returnsFalseMethod()).thenReturn(false);

并且将实际运行obj.returnsFalseMethod()的代码。

任何建议都会有帮助,而且我无法更改主类中的任何代码,谢谢。

最佳答案

我没有意识到您必须准备创建对象的类。我正在准备除了实例化对象的类之外的所有类。

关于java - 使用 Mockito/PowerMockito 模拟私有(private)最终静态对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11638418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com