我在classpath(src/main/resources /)的根目錄下的application.yml文件中有我的配置。正常啓動應用程序時,配置正常加載。但是在我的測試中,application.yml文件根本沒有加載。Spring Boot MockMVC測試不加載Yaml文件
我測試的頭看起來如下:
@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'。正如那裏[參考指南](http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-testing.html#boot-features-testing-spring-boot-applications )。 –
你是對的!謝謝!如果你能做出答案,我很樂意接受它。 – leo