mam kilka testów tak:Jak zrobić JUnit wydrukować twierdzi i wyniki
@Test
public void test01()
{
Position p = getPositionAt('a', 1);
assertNotNull("a1 exists", p);
assertNotNull("figure exists a1", p.getFigure());
p = getPositionAt('a', 2);
assertNotNull("exists a2", p);
assertNull("figure exists a2", p.getFigure());
p = getPositionAt('b', 1);
assertNotNull("exists b1", p);
assertNull("figure exists b1", p.getFigure());
}
Co potrzebne podczas uruchamiania testów jest wydrukować każdą wiadomość wymuszenia na standardowe wyjście, a następnie doprowadzić do tego dochodzić.
To wymaga format z klasy Test:
a1 exists -success
figure exists a1 -success
exists a2 -success
figure exists a2 -succcess
exists b1 -succcess
figure exists b1 -failed
ale jak to zrobić? Jestem całkiem nowy pracując z JUnit i nie mam pojęcia. Czy istnieje sposób używania runners
i suites
? Lub istnieją jakieś metody assertSuccess()
, assertFailed()
? Dzięki za podpowiedź.
Nawiasem mówiąc, 'message' parametr ma zastosowanie tylko wtedy, gdy nie powiedzie się twierdzenie, więc' wiadomość assertNotNull' powinny być rzeczywiście „a1 nie istnieje "etc ... – Jonathan
jakiś szczególny powód, dla którego chcesz tego? –
Obie twoje potrzeby mogą być uznane za anty-wzór w świecie testów jednostkowych. Twoje testy powinny potwierdzać tylko jedną rzecz, więc nie powinno być żadnego powodu, dla którego chciałbyś uzyskać niezawinione twierdzenie.Twoje testy powinny być zautomatyzowane, a wszystkie sprawdzenia są wykonywane przez dowody, więc nie powinno być potrzeby drukowania wydruku ręcznego. W praktyce istnieją powody, dla których warto mieć pierwsze, takie jak uruchamianie testów sterowanych tabelą i potrzeba wielokrotnych wywołań wywołania w celu sprawdzenia jednego faktu logicznego. Bądź jednak ostrożny wobec drugiego. Automatyzacja jest jedyną drogą w testach jednostkowych i regresyjnych. – user7610