Spring boot 不存在应用程序类时的Spring引导测试控制器
所以我有一个多maven模块项目,有一个控制器模块和一个包含spring boot启动应用程序类的模块 myApp -部署(模块) -控制器(模块) 在控制器模块中,我希望能够使用mockMvc测试它们 但是,当我运行它时,会出现以下错误:Spring boot 不存在应用程序类时的Spring引导测试控制器,spring-boot,spring-test-mvc,Spring Boot,Spring Test Mvc,所以我有一个多maven模块项目,有一个控制器模块和一个包含spring boot启动应用程序类的模块 myApp -部署(模块) -控制器(模块) 在控制器模块中,我希望能够使用mockMvc测试它们 但是,当我运行它时,会出现以下错误: java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootT
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test
我想做的是仍然能够测试这个,我可以创建一个测试应用程序并使用它吗
@RunWith(SpringRunner.class)
@WebMvcTest(Controller.class)
@ActiveProfiles(Constants.TEST)
public class ControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
public void contextLoads() {
assertNotNull(mockMvc);
}
}
您可以在测试包中创建一个“test config”类,如下所示:
@SpringBootApplication
public class TestConfig {
}
我将此方法用于需要测试的自定义存储库或服务libe
这样你就可以用
@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc
比你能做的还要多
@Autowired
protected MockMvc mockMvc;
还有你需要的所有其他东西
希望这对您有所帮助您可以创建一个专用的SpringBoot应用程序,就像普通类在您的模块测试包下拥有主功能一样。hats可以正常工作,但我仍然希望能够使用WebMvcTest。。除了SpringBootTest,还有什么我可以用的吗。。。只加载控制器。不,我的意思是我想使用WebMvcTest而不是SpringBootTest来启动应用程序。不,那么我认为你不能,关于组件扫描的问题,请参阅,或者直接是,我可以将TestConfig与测试类放在同一个包中。然后它被捡起来了。:)