我的问题是某些测试失败了。我认为一个函数会破坏上下文,因此测试失败了。
Spring是为每个测试或每个测试类加载了Context new,还是仅为Test Run加载了一次?
答案 0 :(得分:7)
开箱即用,没有配置更改Spring应该只为每个测试套件加载一次上下文。
默认情况下,一旦加载,就会重用已配置的ApplicationContext 每次测试。因此,每次测试仅产生一次设置成本 套件,以及后续的测试执行要快得多。在这种情况下, 术语测试套件意味着所有测试都在同一个JVM中运行 - 例如, 所有测试都是针对给定项目从Ant,Maven或Gradle构建的 或模块。在不太可能的情况下,测试会破坏应用程序 上下文并需要重新加载 - 例如,通过修改bean 定义或应用程序对象的状态 - TestContext 框架可以配置为重新加载配置和重建 执行下一个测试之前的应用程序上下文。