感谢@ M.Deinum让我意识到:
@RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @ContextConfiguration(classes = Config.class) public class ControllerTest {
...应该:
@RunWith(SpringJUnit4ClassRunner.class) @WebAppConfiguration @SpringApplicationConfiguration(classes = Application.class) public class ControllerTest {
我认为这@ContextConfiguration
适用于Spring中的集成测试,而是@SpringApplicationConfiguration
用于Spring Boot中的集成测试.
根据后者的Javadoc:
类级注释,用于确定如何为集成测试加载和配置ApplicationContext.
与标准@ContextConfiguration类似,但使用Spring Boot的SpringApplicationContextLoader.