以前在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 可以让我们很明确维护这些依赖关系。
使用Mockito在Spring中注入Mock对象的实践
本文详细介绍了在使用Spring框架时如何利用Mockito创建并注入mock对象,简化单元测试过程,特别是在不确定将被调用的方法时。通过提供具体的XML配置示例,演示了如何在Spring配置文件中定义和注入mock对象,使得测试过程更加灵活高效。
194

被折叠的 条评论
为什么被折叠?



