我正在使用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.*;
答案 0 :(得分:0)
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;
出于某种原因,关于代码组织,其他东西可能在其他地方找到,如:
import org.mockito.runners.MockitoJUnitRunner;
编辑:在Mockito 2.x中,不推荐org.mockito.runners.MockitoJUnitRunner
,JUnit相关代码已移至org.mockito.junit
,因此导入应替换为:
import org.mockito.junit.MockitoJUnitRunner;
新的MockitoRule
相同。
import org.mockito.junit.MockitoRule;
import org.mockito.junit.MockitoJunit;
但找到它应该不是问题。
希望有所帮助!