Skip to main content

Posts

Showing posts from September, 2008

Generyczne testy z adnotacją Parameters w JUnit 4

Wydawałoby się, że JUnit jest na tyle prostą biblioteką, iż nic nie jest w stanie nas w niej zaskoczyć. A jednak, odkryłem niedawno ciekawą adnotację @Parameters pozwalającą na generowanie testów z dostarczonych danych. Przykład wiele rozjaśni: @RunWith(Parameterized.class) public class ParamsTest { private int a; private int b; private int expected; @Parameters public static Collection data() { return Arrays.asList(new Object[][] { { 1, 1, 2 }, { 1, 2, 3 }, { 4, 6, 9 }, { -2, 2, 0 } }); } public ParamsTest(int a, int b, int expected) { this.a = a; this.b = b; this.expected = expected; } @Test public void sum() { assertEquals(expected, a + b); } } Należy zwrócić uwagę na dwie rzeczy: brak konstruktora bezargumentowego; normalnie JUnit nie byłby w stanie uruchomić jakiegokolwiek testu z tekiej klasy metoda data() zwraca kolekcję tablic. JUnit automatycznie dla k