0

本質的に次のようなテストスイートがいくつかあります

@Test
public void test1_2() {
    test(1,2);
}
@Test
public void test1_3() {
    test(1,3);
}
@Test
public void test4_5() {
    test(4,5);
}
@Test
public void test4_9() {
    test(4,9);
}

// and so forth

private void test(int i, int j) throws AssertionError{
    // ...
}

(これは実際のテストではありませんが、本質的に、各@Testメソッドは 1 つのメソッドのみを呼び出します)

したがって、私の考えでは、jUnit Runner の a を受け入れるカスタム BlockJUnit4ClassRunner に使用できるということ@RunWithでしList

これはどのように達成されますか?または、それを行うより良い方法はありますか?

4

2 に答える 2

1

これは、 Theoriesで行うべきことのように思えます。それ以外の場合は、Enclosedを使用して、それぞれが独自のランナーを持つ複数の内部クラスを持つことができます。

于 2013-03-01T13:05:05.523 に答える
1

@Parameter を使用しないのはなぜですか?

@RunWith(Parameterized.class)
public class YourTest{

 private int i;
 private int j;

 public Parameter(int i, int j) {
    this.i= i;
    this.j= j;
 }

 @Parameters
 public static Collection<Object[]> data() {
      Object[][] data = new Object[][] { { 1, 2 }, { 1,3 }, { 4,5 }, { 4,9 } };
      return Arrays.asList(data);
 }

 @Test
 public void test() throws InterruptedException {
    //use i & j
 } 
}
于 2013-03-01T14:22:31.027 に答える