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