读书人

怎的在Spring 中DI 一个mock service

发布时间: 2012-06-26 10:04:13 作者: rapoo

怎样在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" ?factory-method="mock">

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

</bean>

?

或者?

?

? ? <bean id="utilityService" factory-method="mock">

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

</bean>

</property>

<property name="proxyInterfaces">

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

</property>

</bean>?

?

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

?

?

?

?

?

?

?

读书人网 >软件架构设计

热点推荐