如何对枚举类型实现的单例模式进行mock
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何对枚举类型实现的单例模式进行mock相关的知识,希望对你有一定的参考价值。
参考技术A 最近在工作中使用了用枚举实现的单例,那么如何对该种单例模式实现mock呢?单例类如下(Singleton.class):
使用该单例类的类如下(SingletonHelper.class) :
相应的测试类如下(SingletonHelperTest.class):
此处先使用Whitebox.setInternalState对Singleton的字段"INSTANCE"进行反射,映射为singleton这个mock对象,后续就可以利用singleton对该单例类里面的方法进行mock了。
注意: 对max方法mock时的返回值returnsFirstArg(),是指使用调用该方法的第一个入参作为返回值,这种用法在mockito 1.9.5版本之后支持,以前的版本要想实现该方式必须手动实现Answer匿名类。
以上是关于如何对枚举类型实现的单例模式进行mock的主要内容,如果未能解决你的问题,请参考以下文章