我正在尝试使用Mockito编写Junit测试用例。每当我尝试使用stubing时,即使用when和returnThen,我都会收到一个编译时错误,该类的when未被识别。以下是我的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;
有人能指出我做错了什么吗?
方法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");
}
我更喜欢静态导入方式。它使测试代码看起来更干净。