Enhetstesting er testing av de minste enhetene i et program, i praksis enkeltklasser og deres metoder. Ved testing av metoder, vil en typisk rigge opp en eller flere instans, kalle metodene med ulike argumenter og sammenligne returverdiene med fasiten. Dette vil imidlertid ikke teste et annet viktig aspekt ved metoder, nemlig når og hvilke unntak som utløses, f.eks. når argumenter er ugyldige. Testing av dette er ikke like rett frem som ved testing av returverdier, heldigvis finnes det en egen JUnit-metode for å test unntak, nemlig assertThrows. Den brukes som følger:

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


Merk at man er nødt til å ta .class etter unntaket man vil sjekke for.

Denne tar inn det som heter en executable. For å gjøre en lang historie kort er dette bare litt kode man kan gi som argument til en metode. Syntaksen kan være litt uvant, men om man bruker den som i eksempelet skal det gå.

OBS: assertThrows-metoden er ny i JUnit 5, og man var før nødt til å bruke en del omveier for å teste unntak. Derfor kan det være lurt å sjekke ut hvilken versjon av JUnit man bruker.