没有应用程序类时的Spring Boot测试控制器

时间:2019-02-22 12:39:14

标签: spring-boot spring-test-mvc

所以我有一个多Maven模块项目,其中包含一个用于控制器的模块和一个包含Spring Boot启动应用程序类的模块。

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

在控制器模块中,我希望能够使用模拟Mvc进行测试

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

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);
  }

}

1 个答案:

答案 0 :(得分:0)

您可以在测试包内创建一个“测试配置”类,如下所示:

@SpringBootApplication
public class TestConfig {

}

我正在使用此方法来测试需要测试的自定义存储库或服务库

不是您可以使用的注解

@RunWith(SpringRunner.class)
@SpringBootTest
@AutoConfigureMockMvc

比你能

@Autowired
protected MockMvc mockMvc;

以及您需要的所有其他内容。

希望这会有所帮助