Sollten einfache JavaBeans, die nur einfache Getter und Setter haben, unitgetestet werden?
Wie wäre es mit Beans mit einer gewissen Logik in Gettern und Settern?
Sollten einfache JavaBeans, die nur einfache Getter und Setter haben, unitgetestet werden?
Wie wäre es mit Beans mit einer gewissen Logik in Gettern und Settern?
Sie sollten keine Tests schreiben, die:
Das Gleiche gilt für .NET-Objekte, die nur über Eigenschaften verfügen (manchmal als "Info"-Objekte bezeichnet).
In einer idealen Welt würden Sie eine 100%ige Testabdeckung haben, aber in der Praxis wird dies nicht der Fall sein. Geben Sie also das Geld des Kunden dort aus, wo es den größten Nutzen bringt, d.h. beim Schreiben von Tests für Klassen mit komplexem Zustand und Verhalten.
Wenn Ihre JavaBean interessanter wird, können Sie natürlich später einen Testfall hinzufügen. Eines der häufigsten Probleme im Zusammenhang mit Unit Testing / TDD ist der Irrglaube, dass alles beim ersten Mal perfekt sein muss.
Wenn es sich nicht lohnt, es zu testen, lohnt es sich nicht, es zu schreiben.
Das bedeutet nicht immer, dass Sie Tests schreiben sollten. Manchmal bedeutet es, dass Sie Code löschen sollten. Brauchen Sie diese Bohnen? Tun sie tatsächlich etwas Wichtiges? Wenn Sie sie brauchen, sollten Sie Tests schreiben. Wenn nicht, löschen Sie den Code und leben Sie glücklicher in dem Wissen, dass Sie weniger zu warten haben.
Ich denke, das ist eine der Fragen, die sich jeder stellt.
Aber bedenken Sie: Die innere Logik der Accessors ist jetzt noch sehr einfach, aber sie kann sich in der Zukunft ändern, und - was noch viel wichtiger ist - Sie werden das Gefühl haben, sie beliebig ändern zu können, wenn Sie Tests für die Methoden haben. Sie erhalten also Freiheit und Vertrauen durch ein paar Testfälle. Hört sich nach einem guten Geschäft an, nicht wahr?
Wie können Sie ungetesteten Code sicher refaktorisieren? Was wird passieren, wenn sich Ihr Bean-Pojo ändert, wenn Sie keine Tests haben? Erstellen Sie eine Anämisches Domänenmodell ?
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.