在我的项目中,我有一个带@Service注释的服务。
@Service
public class ExampleService { ... }
我想使用Mockito-mock覆盖此服务,使用配置文件进行测试,方法如下:
public class TestContext{
@Bean
@Primary
public ExampleService exampleService(){
return mock(ExampleService.class);
}
}
在我的测试课程中:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = { WebContext.class, TestContext.class})
@WebAppConfiguration
public class TestExample{...}
由于某种原因,没有注射嘲笑。我可以完成这项工作的唯一方法是当我不使用@Service(@Component给出相同的问题)但在WebContext中使用bean注释方法来加载ExampleService时,我将TestClass放在WebContext.class的后面。 ContextConfiguration注释(就像我在这里写的代码一样)。我不明白为什么,我想知道如何继续使用@Service注释。