我目前正在尝试在类中模拟私有的最终静态对象。看起来我的对象没有被正确地嘲笑。
例:
代码:在主要班级
public class Main {
private final static serviceA obj = new serviceA();
public somemethod { return true; }
}
Mocked:在我的测试课中我有
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()
的代码。
任何建议都会有所帮助,我也无法更改Main类中的任何代码,谢谢。
答案 0 :(得分:1)
我没有意识到你必须准备创建对象的类。除了实例化对象的类之外,我正在准备每个类。