Freitag, 20. Januar 2012

JUnit-Massentest mit Parameter aus CSV-File

Mit JUnit-Bordmitteln ist es möglich, JUnit-Tests zu parametrisieren und sie mit Testdaten abzufüllen. Die Testdaten kommen in diesem Beispiel aus einem CSV-File, das in einer H2-Datenbank zwischengespeichert wird.
Der Trick: 
Der spezielle JUnit-Runner Parametrized, der mit @RunWith angekickt wird, durchläuft die Testklasse n mal. Dabei werden die Instanzvariablen, hier aInput, bInput, pErwartet, n mal neu abgefüllt.
Die Daten dazu kommen aus der Methode, die mit @Parametrized annotiert ist. Die Magie dabei ist, dass die Methode eine Collection von Object-Arrays zurückgibt, wobei der Object-Array genau den Argumenten des Construktors der JUnit-Testklasse entspricht.

https://gist.github.com/2577376


Testklasse:







So ist es leicht möglich, mal rasch ein paar Tausend JUnit-Tests zu machen... Nur: wer testet die Testdaten?




Update JUnit 4.11

Benamste Parameter: