我正在使用Mockito 1.9.0版。我环顾四周,发现大多数示例都忽略了导入列表,而其他示例彼此之间却非常不一致。我收到一些注释的“错误:找不到符号”。我可能将junit语法与Mockito语法混在一起,但我不确定。
@RunWith(MockitoJUnitRunner.class)
public class SomeControllerTest {
@Mock
private SomeServiceImpl someService;
@InjectMocks
private SomeController someController;
@Before
public void setUp() throws Exception {
...
}
@Test
public void testSomething() throws SomeException {
...
}
}
编辑
这是我当前要导入的内容:
import org.mockito.*;
import org.mockito.runners.MockitoJUnitRunner;
import org.junit.runner.RunWith;
import static org.junit.Assert.assertEquals;
import static org.mockito.Mockito.*;
import static org.junit.Assert.*;
通常您对:]感到满意
import static org.mockito.Mockito.*;
使用当今的IDE,它们提供自动补全功能,并且将查找上层类。例如,Mockito类是按这种方式设计的,如果您尝试使用Mockito
eq
匹配器,则IntelliJ将导入org.mockito.Matchers.eq
[以相同的方式可以在存根时使用given
族方法或使用BDD样式,而不是when
族方法,它将导入org.mockito.BDDMockito
从而扩展了Mockito
类。
注释都在org.mockito
中
import org.mockito.Captor; import org.mockito.InjectMocks; import org.mockito.Mock;
由于某种原因,与代码组织有关,可能在其他地方找到其他东西,例如:
:在Mockito 2.x中,不建议使用import org.mockito.runners.MockitoJUnitRunner;
EDIT
org.mockito.runners.MockitoJUnitRunner
,与JUnit相关的代码已移至org.mockito.junit
,因此应将导入替换为:import org.mockito.junit.MockitoJUnitRunner;
与新的
MockitoRule
相同。
import org.mockito.junit.MockitoRule; import org.mockito.junit.MockitoJunit;
但是找到它应该不是问题。
希望有帮助!