mock一个bean的属性也是一个bean的情况


一个注入的bean的属性也是一个注入的bean的情况:

public class BeanOne{
@Autowired
private BeanTwo beanTwo;

public void get(){
  beanTwo.doGet();
}
}
  • 方式一:通过配置文件配置mock属性
<bean class="com.BeanOne">
<bean  class="org.mockito.Mockito"  factory-method="mock">
<constructor-arg value="com.BeanTwo"/>

</bean>

测试用例直接使用
@Autowired
BeanOne beanOne;

beanOne.get();
  • 方式二:使用注脚
  • 该方式需要修改属性的注入注脚未惰性加载,否则启动时报错:
@Autowired(required=false)
private BeanTwo beanTwo;
配置文件只用配置:
<bean class="com.BeanOne">
测试用例:
@Autowired @InjectMocks
BeanOne beanOne;

@Mock
BeanTwo beanTwo;
@Before
public void init() {
MockitoAnnotations.initMocks(this);
}
 
Mockito.when(beanTwo.doGet()).thenReturn("two get");
 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM