Kapitel 66. Programmieren mit GUTs

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Kevlin Henney

Du schreibst also Unit-Tests? Super! Sind sie auch gut? Um einen Ausdruck von Alistair Cockburn zu verwenden: Hast du GUTs? Gute Unit-Tests? Oder hast du jemanden (dein zukünftiges Ich?) mit zinsbringenden technischen Schulden in seiner Testbase gelandet?

Was meine ich mit gut? Gute Frage. Schwierige Frage. Lohnt eine Antwort.

Beginnen wir mit den Namen. Überlege dir im Namen, was getestet werden soll. Ja, du willst nicht test1, test2 und test3 als Namensschema verwenden. Eigentlich willst du auch nicht test in deinen Testnamen haben: @Test tut das schon. Sag dem Leser, was du testest, nicht, dass du testest.

Nein, ich meine nicht, dass du sie nach der zu testenden Methode benennen sollst: Sag dem Leser, welches Verhalten, welche Eigenschaft, welche Fähigkeit usw. getestet wird. Wenn du eine Methode hast addItemhast, brauchst du keinen entsprechenden addItemIsOK Test. Das ist ein üblicher Testgeruch. Identifiziere die Verhaltensfälle und teste nur einen Fall pro Testfall. Oh, und nein, das bedeutet nicht addItemSuccess und addItemFailure.

Darf ich dich fragen, was der Zweck deines Tests ist? Zu testen, dass es "funktioniert"? Das ist nur die Hälfte der Geschichte. Die größte Herausforderung im Code ...

Get 97 Dinge, die jeder Java-Programmierer wissen sollte now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.