我正在测试一个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
}
}
我试图模仿但似乎无法嘲笑它。有什么建议?谢谢!
答案 0 :(得分:0)
您可以使用反射来访问和修改所需对象的任何属性。有几个关于SO的问题已经很好地回答了这个问题,例如: