4

3つのテストメソッドtest1、test2、test3を持つServiceTestというテストクラスがあるとします。3つの方法はすべて、Springによって提供されるいくつかのリソースを使用します。現在の状況では、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);
}
4

1 に答える 1

3

いいえ、現在ApplicationContext、既存のフックインでの最初の失敗時にロードを中止する方法はありません。

提案を使用して、 SPRプロジェクトとテストコンポーネントに対してJIRAの問題を自由に作成してください。

よろしく、

サム(Spring TestContext Frameworkの作成者)

于 2012-06-26T15:15:36.497 に答える