我要测试的类中有一些私有的static final字段。喜欢如下

public class ClassToTest{
    ....
    private static final Myclass myclass = MyClassFactory.getMyClass(type.firstType);
    ....
}


该类型是MyClassFactory中的一个枚举。该工厂要做的是根据传递的类型和返回值初始化对象。

我的问题是powermock是否支持此功能,如果支持,如何执行此操作。

最佳答案

如果有任何模拟库适合您,您也可以使用反射。

Field f = classToTest.getclass().getDeclaredField("myclass ");
f.setAccessible(true);
f.set(classToTest,/*NEW VALUE*/);

关于java - 在测试类中模拟私有(private)静态最终变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19426999/

10-10 04:03