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 addItem
hast, 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.