12 Stimmen

Sollten Domänenobjekte und einfache JavaBeans einheitlich getestet werden?

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?

2voto

Lars A. Brekken Punkte 22085

Sie müssen nur die Dinge testen, die korrekt funktionieren sollen.

(Entschuldigung an denjenigen, von dem ich dieses Zitat gestohlen habe)

2voto

Jevgeni Kabanov Punkte 2602

Sie sollten Dinge testen, die eine Bedeutung haben. Getter und Setter enthalten in der Regel keine Logik und werden in Java nur wegen des Fehlens von Eigenschaften verwendet. Sie zu testen ist meiner Meinung nach genauso dumm, wie zu prüfen, ob Java jedes Mal einen Wert zurückgibt, wenn Sie "a.x" auswerten.

Wenn der Accessor eine Logik hat, liegt es an Ihnen, den Schwellenwert zu bestimmen. Wenn Ihr Team faul ist, ist es am besten, alle Logik zu testen. Wenn es disziplinierter ist, ist es besser, ein Verhältnis zu finden, bei dem Sie nicht zu viele Boilerplate-Tests schreiben müssen.

1voto

Jorn Punkte 17575

Wenn es nur ein Getter/Setter ist, ohne etwas an den Werten zu ändern, würde ich sagen, dass es keinen Grund zum Testen gibt. Wenn es tut einige Logik, ein paar einfache Unit-Tests wird einige Sicherheit bieten.

1voto

Jeroen van Bergen Punkte 1036

Wie Maxim bereits sagte: Tests fügen Ihrer Anwendung keine zusätzlichen Funktionen hinzu, sondern ermöglichen es Ihnen, Änderungen mit mehr Vertrauen vorzunehmen. Um herauszufinden, welche Klassen/Methoden unitgetestet werden sollten, stelle ich mir immer zwei Fragen:

  • Wird dieser Teil des Codes im Zusammenhang mit der Gesamtfunktionalität importiert?
  • Wird sich dieser Teil des Codes während der Lebensdauer der Anwendung wahrscheinlich ändern?

Wenn beide Fragen mit ja beantwortet werden, ist ein Einheitstest erforderlich.

1voto

Sandman Punkte 9500

Meiner Meinung nach besteht der Zweck des Schreibens von Einheitstests darin, die Geschäftslogik der zu testenden Einheit zu prüfen. Wenn es also keine Geschäftslogik gibt (z. B. wenn ein Getter einfach einen Wert zurückgibt oder ein Setter ihn setzt), dann ist es sinnlos, einen Test zu schreiben. Wenn jedoch eine gewisse Logik vorhanden ist (ein Getter ändert die Daten auf irgendeine Weise, bevor er sie zurückgibt), dann sollten Sie einen Unit-Test durchführen. Generell sollte man meiner Meinung nach keine Tests für Beans schreiben, die keine Geschäftslogik enthalten.

CodeJaeger.com

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.

Powered by:

X