假设我有一个名为ServiceTest的测试类,它有三个测试方法test1,test2和test3。这三种方法都使用spring提供的一些资源。在当前状态下,如果加载弹簧上下文存在问题,则为每个测试方法重试上下文加载。有没有办法可以让它在现有挂钩的第一次失败时中止?背后可能有充分的理由 - 但我不理解它。任何指针都会有所帮助。真正的问题是上下文加载需要几分钟时间,如果第一次已经失败并且只是寻求延长CI引擎报告失败所花费的时间,那么继续重新尝试加载上下文是没用的。
我正在考虑提出一个补丁,以便能够在org.springframework.test.context.TestContext中维护一个尝试映射,这可以用来跟踪所做的尝试并避免一遍又一遍地尝试。想法?
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:com/kilo/spring/test-context.xml" })
public class ServiceTest {
@Resource(name = "fibonacciService")
private FibonacciService fibonacciService;
@Test
public void test1() {
long fibonacci = fibonacciService.getFibonacci(5);
}
@Test
public void test2() {
long fibonacci = fibonacciService.getFibonacci(4);
}
@Test
public void test3() {
long fibonacci = fibonacciService.getFibonacci(6);
}
答案 0 :(得分:3)
不,目前无法使用现有的挂钩功能在第一次失败时中止ApplicationContext
加载。
根据 SPR 项目和测试组件,随意提出create a JIRA issue。
此致
Sam(Spring TestContext Framework的作者)