无法在JUnit Mockito中实现存根

时间:2015-04-07 10:59:34

标签: java junit mockito

我正在尝试使用Mockito编写Junit测试用例。每当我试图使用stubbing,即使用when和returnThen时,我得到一个编译时错误,表明该类未被识别。以下是我的JUnit片段

@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;

请有人指出我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

方法mockwhen和许多其他方法是Mockito类中的静态方法。

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

import static org.mockito.Mockito.*;

或者,你可以导入Mockito类(就像你做的那样)

import org.mockito.Mockito;

并使用方法 qualified

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

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