在测试类中模拟私有静态最终变量 [英] Mock private static final variables in the testing class

查看:124
本文介绍了在测试类中模拟私有静态最终变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要测试的类中有一些私有的static final字段.像这样

I have a few private static final fields in the class I want to test. Like follows

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

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

The type is a enum in the MyClassFactory. That factory do is it initialize object according to type passed and return.

我的问题是powermock是否支持此功能,如果支持,怎么做.

My question is does powermock support this and if so how to do this.

推荐答案

如果有任何模拟库对您有用,您也可以使用反射.

You can use reflection also if any mock library works for you.

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

这篇关于在测试类中模拟私有静态最终变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆