Junit私人领域

时间:2015-03-31 15:18:41

标签: junit field private

这是我试图模拟的现有类及其方法:

public class ClassUndertest{

   private Object field_private = new Object();

   public Object method_public()
   {
       field_private.method();
       method_private();
   }


   private Object method_private()
   {
       ....
       return Object;
   }

}

我的测试部分嘲笑ClassUndertest:

   ClassUndertest partialmockinstance = PowerMock.createPartialMock(ClassUndertest.class, "method_private");

当我运行模拟对象时:

 partialmockinstance.method_public();

field_private未初始化,因此test抛出空指针。

无论如何都要绕过这个问题?

1 个答案:

答案 0 :(得分:0)

在调用构造函数时初始化字段。我认为PowerMock的默认行为是调用任何构造函数。

通过查看javadoc,我会尝试以下方法:

ClassUndertest partialmockinstance = PowerMock.createPartialMockAndInvokeDefaultConstructor(ClassUndertest.class, "method_private");