【发布时间】:2014-05-15 12:24:30
【问题描述】:
我遇到了 spock 不允许在规范之外创建 Mocks 的问题 - How to create Spock mocks outside of a specification class?
这似乎仍然很出色,所以我要问的是,如果我有一个复杂且嵌套的 DI 图,那么在图中“注入”模拟表示的最有效方法是什么?
理想情况下,我为正常部署设置了一个 bean 定义,在运行单元测试时设置了另一个,这个定义集是适用的 Mocks
例如
@Configuration
@Profile("deployment")
public class MyBeansForDeployment {
@Bean
public MyInterface myBean() {
return new MyConcreateImplmentation();
}
}
&&
@Configuration
@Profile("test")
public class MyBeansForUnitTests {
@Bean
public MyInterface myBean() {
return new MyMockImplementation();
}
}
【问题讨论】: