SORU
16 Mart 2009, PAZARTESİ


Parametreli testler değişen isimler

JUnit4 parametreli testler kullanılırken bir şekilde kendi özel testimi ayarlamak için isim var mı?

Değiştirmek için varsayılan— [Test class].runTest[n] — anlamlı bir şeyler yapmak istiyorum.

CEVAP
13 NİSAN 2012, Cuma


Bu özellik JUnit 4.11 içine onu yaptı.

Parametreli testler adını değiştirmek için kullanın, ' diyorsunuz

@Parameters(name="namestring")

namestringaşağıdaki özel tutucular var olan bir dize:

  • {index} argümanlar bu dizi dizin. Varsayılannamestring{index}.
  • {0} - test bu çağırma ilk parametre değeri.
  • {1} - ikinci parametre değeri
  • ve benzeri

Testin son test yöntemi, ardından bir adım olacaknamestringaşağıda gösterildiği gibi, parantez içinde.

Örneğin (Parameterized ek açıklama için birim test uyarlanmıştır):

@RunWith(Parameterized.class)
static public class FibonacciTest {

    @Parameters( name = "{index}: fib({0})={1}" )
    public static Iterable<Object[]> data() {
        return Arrays.asList(new Object[][] { { 0, 0 }, { 1, 1 }, { 2, 1 },
                { 3, 2 }, { 4, 3 }, { 5, 5 }, { 6, 8 } });
    }

    private final int fInput;
    private final int fExpected;

    public FibonacciTest(int input, int expected) {
        fInput= input;
        fExpected= expected;
    }

    @Test
    public void testFib() {
        assertEquals(fExpected, fib(fInput));
    }

    private int fib(int x) {
        // TODO: actually calculate Fibonacci numbers
        return 0;
    }
}

testFib[1: fib(1)=1] testFib[4: fib(4)=3] gibi isimler ver. (Adın testFib bölümü @Test) yöntem adıdır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Māris Zaharovs

    Māris Zahar

    28 Mayıs 2008
  • max2sims2

    max2sims2

    19 Kasım 2008
  • RogerBuckChrist

    RogerBuckChr

    9 Temmuz 2011