Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Heldigvis finnes det en egen JUnit-metode for å test unntak, nemlig assertThrows. Den brukes som følger:

Code Block
t@Test
public void testCount() {
	counter.count();
	counter.count();
	assertThrows(IllegalStateException.class, () -> {
		counter.count();
	});
}


Når man tester unntak, så vil man typisk ønske å sjekke om kontrollflyten fortsetter som vanlig eller havner i en bestemt catch-del. For å angi at en bestemt kontrollflyten ikke er som forventet, dvs. "hit skulle man ikke kommet", kaller man fail()-metoden, som rett og slett gir feilmelding umiddelbart, omtrent som om en brukte assertTrue(true). Anta f.eks. at konstruktøren i Counter-klassen fra Enhetstesting med JUnit skal utløse en IllegalArgumentException, dersom end-verdien er mindre enn start-verdien. Da må en teste begge tilfeller, både når en forventer unntak av denne typen og når en ikke forventer det, gjerne i hver sin test-metode:

...