SpringJUnit4ClassRunner是否为每个Test或Class加载了Context?

use*_*294 4 java testing spring

我的问题是某些测试失败了.我认为一个函数会破坏上下文,因此测试失败了.

Spring是为每个测试或每个测试类加载了Context new,还是仅为Test Run加载一次?

Kev*_*sox 7

开箱即用,没有配置更改Spring应该只为每个测试套件加载一次上下文.

默认情况下,一旦加载,配置的ApplicationContext将重复用于每个测试.因此,每个测试套件仅产生一次设置成本,并且后续测试执行要快得多.在此上下文中,术语测试套件意味着所有测试都在同一JVM中运行 - 例如,所有测试都是针对给定项目或模块从Ant,Maven或Gradle构建的.在不太可能的情况下,测试会破坏应用程序上下文并需要重新加载 - 例如,通过修改bean定义或应用程序对象的状态 - 可以将TestContext框架配置为在执行下一个之前重新加载配置并重建应用程序上下文测试.

资料来源:http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/testing.html#testcontext-ctx-management