Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring boot 不存在应用程序类时的Spring引导测试控制器_Spring Boot_Spring Test Mvc - Fatal编程技术网

Spring boot 不存在应用程序类时的Spring引导测试控制器

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

所以我有一个多maven模块项目,有一个控制器模块和一个包含spring boot启动应用程序类的模块

myApp -部署(模块) -控制器(模块)

在控制器模块中,我希望能够使用mockMvc测试它们

但是,当我运行它时,会出现以下错误:

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与测试类放在同一个包中。然后它被捡起来了。:)