我的问题是某些测试失败了。我认为一个函数破坏了上下文,因此测试失败了。
Spring 是否为每个测试或每个测试类加载了新的上下文,或者只为测试运行加载了一次?
开箱即用,没有配置更改 Spring 应该只为每个测试套件加载一次上下文。
默认情况下,一旦加载,配置的 ApplicationContext 将被重复用于每个测试。因此,每个测试套件只产生一次设置成本,随后的测试执行速度要快得多。在这种情况下,术语测试套件意味着所有测试都在同一个 JVM 中运行——例如,所有测试都从给定项目或模块的 Ant、Maven 或 Gradle 构建中运行。在不太可能的情况下,测试破坏了应用程序上下文并需要重新加载——例如,通过修改 bean 定义或应用程序对象的状态——可以将 TestContext 框架配置为在执行下一个之前重新加载配置并重建应用程序上下文测试。