怎样在Spring 中DI 一个mock service for unit test

以前在unit test 中 要mock 一个 外围的service 的话 EasyMock JMock,  现在则是 Mokito 用得比较多。  

 

其实JMock 与 Mokito 的区别就是 EasyMock,  JMock 假设我们不去调用mock 对象的方法,  因此如果我们想调用, 我们就得不断的check, assert。  但是如果用的Mokito 就爽了,  因为它假定我们会去调用mock 对象,  因此我们不比做mock , prepair。 直接Mockito.mock (className.class) 得到一个mock 对象, 注入 就可以用了。  这种方式在我们测试别人的代码的时候,  不确定哪些方法是会被调用的, 用Mockito 很方便的。  

 

现在在unit test 中用到Spring, 需要在Spring中 注入 Mockito mock 的service。  

 

  我们可以采用  :

  <bean id="utilityService"  class="org.mockito.Mockito" factory-method="mock">

<constructor-arg value=" com.blabla.UtilityService " />

</bean>

 

或者 

 

    <bean id="utilityService" class="org.springframework.aop.framework.ProxyFactoryBean">

<property name="target">

<bean class="org.mockito.Mockito" factory-method="mock">

<constructor-arg value="com.blabla.UtilityService" />

</bean>

</property>

<property name="proxyInterfaces">

<value> com.blabla.UtilityService </value>

</property>

</bean> 

 

当然如果我们直接开发新接口的时候,用JMock 可以让我们很明确维护这些依赖关系。 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值