我为 JUnit 创建了 2 个类 A、B,每个类都有自己的 ContextLoaders 用于加载应用程序上下文。现在,当我独立运行这些类中的每一个时,JUnit 测试运行良好。
但是,当我在这两个类上进行 maven 构建或运行 JUnit 时,第一个运行的类 A 运行得非常好,但第二个会引发异常(无法自动装配字段......预期一个找不到...... )。这是我想要做的: -
//带上下文加载器的A类A_ContextLoader
@runwith(springjunit4classrunner.class)
@ContextConfiguration(loader = A_ContextLoader.class)
public class A {
@Test
public void testMethod1() {
...
}
}
//带有上下文加载器的B类B_ContextLoader
@runwith(springjunit4classrunner.class)
@ContextConfiguration(loader = B_ContextLoader.class)
public class B {
@Test
public void testMethod2() {
...
}
}
据我了解,当第二类开始执行时,它使用现有上下文而不是初始化新上下文。在我的情况下,我不可能将两个上下文加载器合并到一个类中。
那么有什么方法可以在 A 类执行结束时“卸载”应用程序上下文。或者在 B 开始执行时如何要求 JUnit 重新初始化上下文?还是我错过了什么?