2015-04-07 48 views
0

我正在尝试使用Mockito编写Junit测试用例。每当我试图使用stubbing,即使用when和return时,我得到一个编译时错误,那个时候该类未被识别。以下是我的JUnit片断无法在JUnit Mockito中实现存根

@Before 
public void setUp() throws Exception { 
registryIndexConfig = mock(RegistryIndexConfig.class); 
when(registryIndexConfig.getIndexName()).thenReturn("Demogoblin"); 
} 

我已经导入下面的类,包

import static org.junit.Assert.*; 
import org.junit.After; 
import org.junit.Before; 
import org.junit.Before; 
import org.junit.Test; 
import org.mockito.Mock; 
import org.mockito.Mockito; 
import org.testng.Assert; 
import static org.mockito.Mockito.mock; 
import org.junit.runner.RunWith; 
import org.mockito.runners.MockitoJUnitRunner; 
import static org.mockito.Mockito.stub; 

请可有人点我究竟错在这里做什么?

+0

“我得到一个编译时错误,当时是不明身份”这很清楚恕我直言 – 2015-04-07 11:12:26

回答

3

方法mock,when和其他许多是Mockito类中的静态方法。

使用时,必须将它们导入不合格(用静态导入):

import static org.mockito.Mockito.*; 

或者,你可以导入Mockito类(像你这样)

import org.mockito.Mockito; 

和使用方法合格

@Before 
public void setUp() throws Exception { 
    registryIndexConfig = Mockito.mock(RegistryIndexConfig.class); 
    Mockito.when(registryIndexConfig.getIndexName()).thenReturn("Demogoblin"); 
} 

我更喜欢静态导入的方式。它使测试代码看起来更干净。

+0

谢谢它工作:) – Poulami