0

Heute beginne ich ein Projekt, dass ich ein Backend in zwei Stücken verbreiten muss, ich weiß nicht, was genau das Backend tut, nur dass ich bestimmte Dienstleistungen in neue Frühjahr, Jersey, Maven Multi-Modul-Projekt verschieben muss.Test oder nicht testen?

So war die Aufgabe zu bewegen wirklich einfach und jetzt ist es Zeit, Tests zu schreiben. Zuvor hat das Projekt keinen Test.

Wenn ich ein JUnits von meinem Business Objects zu schreiben, sah ich, dass die meisten Dienste nur eine grundlegende Operation mit einem DAO, wie GetAll, Get, speichern, aktualisieren und löschen. Die anderen Dienste haben eine Geschäftsvalidierung erhalten, aber es ist kein Complex.

So ist die Fragen sind theoretisch:

Soll ich JUnits schreiben Sie einen einfachen DAO get zu testen, die (kein Integrationstest) verspottet werden, die die Vorteile dies für Sie sein? Welches wird der richtige Weg sein, einen Integrationstest für einen einfachen DAO get zu machen, getAll oder erstellen (Erstellen, dass keine Validierung vor auszuführen hat)

Antwort

0

Einheit & Integrationstests für Entwickler sind, also wenn Sie don Fühlen Sie sich nicht wie ein Entwickler wird von dem Test profitieren - schreiben Sie es nicht. Bedenken Sie auch, dass Tests das Verhalten und nicht den Code verifizieren. Wenn Sie also kein Verhalten sehen, das getestet werden muss, verbringen Sie keine Zeit.

In Ihrem Fall würde ich höchstens Integrationstests für Dienste schreiben und vielleicht für DAOs (wenn es kein ORM gibt).

Auf jeden Fall richtige Antwort auf Ihre Frage ist abhängig von der Höhe der Qualität, die Sie für Ihr Projekt zur Verfügung stellen müssen, Teamgröße, möglichen destruktiver Code-Änderungen usw.

Zwei Beispiele:

1) Kleine Website-Admin-Panel in CRUD-Stil, nur ein Entwickler führt Änderungen gleichzeitig ein, und fast keine Geschäftslogik ist vorhanden. Bugs Präsenz ist nicht kritisch.

In diesem Fall würde ich nicht die Zeit für irgendwelche Tests verbringen - wahrscheinlich müssen Sie sich auf andere Dinge konzentrieren (z. B. Client-Seite).

2) Sie beginnen ein komplexes Projekt, das derzeit im CRUD-Stil ist, aber Interaktionen zwischen entfernten Diensten/DAOs vorhanden sind, Geschäftslogik wird irgendwann komplex. Das Team wächst/verändert sich schnell, mehr als eine Person beteiligt, neue Entwickler können nicht verstehen, wie das System einfach funktioniert. Bugs Präsenz ist schlecht für das Geschäft.

In diesem Fall würde ich zumindest mit Integrationstests für Dienste beginnen.