【发布时间】:2016-03-03 08:32:02
【问题描述】:
典型的例子是:
@ContextConfiguration(locations = {
"classpath:someITTest-mock.xml",
"classpath:someITTest-context.xml",
"classpath:commons.xml"})
@Transactional
@RunWith(SpringJUnit4ClassRunner.class)
public class SomeITTest {
//...
}
我正在寻找在测试期间重新创建模拟的方法。使用DirtiesContext 的明显方法 但它会导致重新创建所有上下文,而应该只重新创建模拟上下文。
这里有几个注意事项:
- 似乎首先加载了带有模拟的上下文,因为其他依赖 context 没有这样的 bean。
- 创建和注入模拟时 进入依赖的上下文,可能无法缓存/重用 取决于上下文。
那么有没有办法在创建 mock 的地方重新创建 spring 上下文,但保留缓存的其他上下文?
【问题讨论】:
标签: java spring unit-testing integration-testing spring-test