在项目上运行测试用例需要花费大量时间。在诊断此问题时,我们已确定某个服务呼叫正在拖动其数字支脚。我们想通过Spring来模拟它,就像我们在其他项目中所做的那样,但是这个项目代替服务调用(它调用一个项目,调用一个项目,调用服务;每个项目都有自己的spring配置)。 / p>
Project Alpha - > Project Bravo - > Project Charlie的服务Foo
问题: Project Alpha中对Spring配置的修改是否允许模拟Service Foo,或者Project Bravo中的Spring配置是否不受其.war文件之外的配置的影响。
注意:这可以通过将模拟配置放在Project Bravo中来实现,但在这种情况下不是一个选项。
答案 0 :(得分:0)
这是对spring的一个小扩展,简化了在intergation tests的相关上下文xml文件中创建mockito模拟的方法。
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:mockito="http://www.mockito.org/spring/mockito"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.mockito.org/spring/mockito http://www.mockito.org/spring/mockito.xsd">
...
<mockito:mock id="innerBean" class="my.project.InnerBean" />
..
</beans>
尝试@ReplaceWithMock注释
@ContextConfiguration(loader = SpringockitoContextLoader.class,
locations = "classpath:/context.xml")
public class SpringockitoAnnotationsMocksIntegrationTest extends AbstractJUnit4SpringContextTests {
@ReplaceWithMock
@Autowired
private InnerBean innerBean;
...
}
https://bitbucket.org/kubek2k/springockito/wiki/springockito-annotations