嘲笑注入课程

时间:2018-01-30 20:30:20

标签: unit-testing junit mockito

我有一个类,它有一个依赖注入到它的基类。

class Parent{
   protected PersistentCache dataCache;
}


<bean id="parent" class="xxxx.parent" abstract="true" init-method="init"
        p:dataCache-ref="persistentCache"
        ......"/>

子测试中的方法使用此缓存:

class Child extends Parent{
  public prepareData(){
      ......
      Data data = dataCache.get(...);
      ........
  }
}

如何在dataCache中模拟get方法以返回一个&#39; dummy&#39;在为prepareData编写单元测试时?

1 个答案:

答案 0 :(得分:0)

它真的很重要,它在超类中,你可以将它作为常规方法进行模拟。

@RunWith(MockitoJUnitRunner.class)
public class Testing {

  @Mock
  PersistentCache dataCache;

  @InjectMocks
  Child child;

  @Before
  public void abc() {
    MockitoAnnotations.initMocks(this);
  }
  @Test
  public void test() {

   doReturn(dummyData).when(dataCache).get();
   child.PrepareData();
  }
}