Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring:重写/模拟依赖项';s依赖_Java_Spring_Dependency Injection_Mocking - Fatal编程技术网

Java Spring:重写/模拟依赖项';s依赖

Java Spring:重写/模拟依赖项';s依赖,java,spring,dependency-injection,mocking,Java,Spring,Dependency Injection,Mocking,在项目上运行测试用例花费了大量的时间。在诊断此问题时,我们已确定某个服务调用正在拖数字后腿。我们希望通过Spring模拟它,就像我们在其他项目中所做的那样,但是这个项目以替代方式进行服务调用(它调用一个项目,谁调用一个项目,谁调用该服务;每个项目都有自己的Spring配置) 阿尔法项目->布拉沃项目->查理项目的服务食品 问题: Alpha项目中对Spring配置的修改是否允许模拟服务Foo,或者Bravo项目中的Spring配置是否不受其.war文件之外的配置的影响 注意:这可以通过将模拟配置

在项目上运行测试用例花费了大量的时间。在诊断此问题时,我们已确定某个服务调用正在拖数字后腿。我们希望通过Spring模拟它,就像我们在其他项目中所做的那样,但是这个项目以替代方式进行服务调用(它调用一个项目,谁调用一个项目,谁调用该服务;每个项目都有自己的Spring配置)

阿尔法项目->布拉沃项目->查理项目的服务食品

问题: Alpha项目中对Spring配置的修改是否允许模拟服务Foo,或者Bravo项目中的Spring配置是否不受其.war文件之外的配置的影响

注意:这可以通过将模拟配置放在Project Bravo中轻松实现,但在本例中这不是一个选项。

石器时代版本

这是spring的一个小扩展,它简化了在集成测试的相关上下文xml文件中创建mockito mock的方法


难道你不能用EasyMock之类的东西来模拟服务调用吗?@AnthonyW:构建不同的项目一个单一的spring应用程序(一个单一的spring上下文)?其他几个团队也在使用Project Bravo。更改或重新编译它不是一个选项。我现在试图模拟该服务,但没有看到任何效果。我需要知道的是,这是一个个人问题(我可以解决)还是春天的局限。忘了提到我们仍然停留在石器时代(注释前)。
<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>
@ContextConfiguration(loader = SpringockitoContextLoader.class,
locations = "classpath:/context.xml")
public class SpringockitoAnnotationsMocksIntegrationTest extends AbstractJUnit4SpringContextTests {

    @ReplaceWithMock
    @Autowired
    private InnerBean innerBean;

...
}