[英]Unable to inject mock in Spring java bean?
I have a spring boot test as below 我有如下的弹簧启动测试
@SpringBootTest(class=AppConfig.class)
Public class AppTest{
@Autowired
private Product product
@Test
Public void test(){
.....
.....
}
}
My AppConfig.class is as below 我的AppConfig.class如下
Public clas AppConfig{
@Mock
EMailService emailService;
public AppConfig(){
MockitoAnnotations.initMocks(this)
}
@Bean
Public Product getProduct(){
return new Product();
}
}
Class Product{
@Autowired
private EMailService emailService
.....
......
}
Even after i defined @Mock EMailService emailService, whem i run the test, I get error EMailService bean not defined. 即使在定义@Mock EMailService emailService之后,我运行测试,却收到未定义的错误EMailService bean。
In your AppTest class 在您的AppTest类中
@SpringBootTest(class=AppConfig.class)
public class AppTest{
@Mock
private EMailService emailService;
@InjectMocks
private Product product;
@Test
public void test(){
.....
.....
}
}
Also, I think you do not need the definitions in the AppConfig class anymore 另外,我认为您不再需要AppConfig类中的定义
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.