我何时需要在@ SpringBootTest`注释中提及应用程序类?

时间:2019-04-18 11:33:50

标签: java spring spring-boot kotlin junit

因此,如果我没有在测试类注释中提及应用程序测试,那么我的测试类将找不到bean

beforeunload

我已经看到(并编写了)其他测试(在其他项目中以及在此项目中),在这些测试中我不需要明确提及该类。

我不确定为什么发生这种情况,而且我怀疑不知道可能会导致以后遇到问题。

什么时候需要为课程提供@RunWith(SpringJUnit4ClassRunner::class) @SpringBootTest(classes=[MySpringApplication::class]) @WebAppConfiguration class MyFooIT{...} 注释,什么时候不需要?

1 个答案:

答案 0 :(得分:0)

在两种情况下,您可能必须指定要在@SpringBootTest中使用的应用程序类:

  1. 当您的测试类超出了应用程序类的根包时(有关结构here的更多详细信息)
  2. 在主应用程序包下有多个应用程序类时。
  3. 通常,当您具有使用相同软件包的依赖项时(模块A使用com.example作为根软件包,而模块B依赖于模块A且还使用com.example作为根软件包)

您可以检查MyFooIT是否在根软件包的层次结构下(包含MySpringApplication),或者在同一个根软件包下是否有多个应用程序类。