模拟受保护的方法,它是扩展抽象类

时间:2016-11-18 18:43:58

标签: java mocking mockito junit4 powermockito

A类

public abstract class A{
  protected C _c = null;

  public A(){
  }

  public B(C c){
    _c=c;
  }
}

B类

public class B extends A{

 public B(C c){
   super(c);
 }

 public String dosomething(){
   this._c.dosomethingelse();
   return String s;
 }

}

我正在尝试对dosomething()进行单元测试。我正在运行一个问题,因为在this._c为null(在这一行引出一个空指针异常)我是新的mockito和单元测试不确定如何使它跳过该步骤,以便它运行其他逻辑。我正在使用Mockito和PowerMockito

1 个答案:

答案 0 :(得分:0)

假设您正在使用弹簧测试

在你的初始化尝试这样的事情:

//Create instance of C (or get already existing one)    
C myC = new C();
ReflectionTestUtils.setField(this., "_c", myC);