小编spi*_*ike的帖子

为测试覆盖基于Java的Spring Context配置

是否有可能从Spring配置中替换单个bean或值进行一个或多个集成测试?

就我而言,我有配置

@Configuration
@EnableAutoConfiguration
@ComponentScan(basePackages = {"foo.bar"})
public class MyIntegrationTestConfig {
    // everything done by component scan
}
Run Code Online (Sandbox Code Playgroud)

哪个用于我的集成测试

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = MyIntegrationTestConfig.class, loader = SpringApplicationContextLoader.class)
public class MyIntegrationTest {
    // do the tests
}
Run Code Online (Sandbox Code Playgroud)

现在我想要进行第二组集成测试,其中我用一个不同的bean替换一个bean.

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = MyIntegrationTestConfig.class, loader = SpringApplicationContextLoader.class)
public class MySpecialIntegrationTest {
    // influence the context configuration such that a bean different from the primary is loaded

    // do the tests using the 'overwritten' bean
}
Run Code Online (Sandbox Code Playgroud)

实现这一目标的最简单方法是什么?

configuration spring config

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

config ×1

configuration ×1

spring ×1