【发布时间】:2015-11-06 07:52:49
【问题描述】:
我的配置位于类路径根目录 (src/main/resources/) 的 application.yml 文件中。当我正常启动应用程序时,配置加载正常。但是在我的测试中,application.yml 文件根本没有加载。
我的测试标题如下:
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes = Configuration.class)
@org.junit.Ignore
public class ApplicationIntegrationTest {
@Inject
private WebApplicationContext wac;
private MockMvc mockMvc;
@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();
}
...
配置类:
@EnableAutoConfiguration
@ComponentScan("c.e.t.s.web, c.e.t.s.service")
public class Configuration extends WebMvcConfigurerAdapter {
当我调试应用程序时,我看到 yml 文件在 ConfigFileApplicationListener 中加载,但在测试中未调用 ConfigFileApplicationListener。
【问题讨论】:
-
因为你做错了。您应该使用
@SpringApplicationConfiguration而不是@ContextConfiguration。正如reference guide 中所解释的那样。 -
你是对的!谢谢!如果你能做出这样的回答,我很乐意接受。
标签: spring spring-boot spring-test mockmvc