Ještě lepší...

  • je používat systémy pro běhovou kontrolu platnosti podmínek:

    • vstupní podmínka metody (zda je volána s přípustnými parametry)

    • výstupní podmínka metody (zda jsou dosažené výstupy správné)

    • a podmínka kdekoli jinde - např. invariant cyklu...

  • K tomuto slouží jednak

    • standardní klíčové slovo (od JDK1.4) assert booleovský výraz

    • testovací nástroje typu JUnit (a varianty - HttpUnit,...) - s metodami assertEquals() apod.

    • pokročilé nástroje na běhovou kontrolu platnosti invariantů, vstupních, výstupních a dalších podmínek - např. jass (Java with ASSertions), http://csd.informatik.uni-oldenburg.de/~jass/.

  • Ukázka testu jednotky:Test třídy ChovatelPsu