如何模拟一个类的内部静态类的私有字段

时间:2013-08-26 18:40:20

标签: testing mockito

我正在测试一个MR类,它有mapper / reducer作为内部静态类。映射器有一个私有字段,消耗太多内存使测试失败,我想为该字段使用模拟对象,但不知道如何做到这一点,这是我的代码:

public class Aggregator extends Configured implements Tool {
   public static class AggregatorMapper extends Mapper<LongWritable, Text, GeneralKey, Text) {
      private LookupService lookupService = null;   <--- the object i want to mock
   }
}

我试图模仿但似乎无法嘲笑它。有什么建议?谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用反射来访问和修改所需对象的任何属性。有几个关于SO的问题已经很好地回答了这个问题,例如: