Gibt es eine Möglichkeit zur Automatisierung junit bean-Eigenschaft testet?

Let ' s face it, schriftlich bean-Eigenschaft tests ist die denkbar schlechteste Umgang mit der Zeit. Aber Sie müssen getan werden.

Zum Beispiel. Wenn die Tests eine String Eigenschaft für propName ein Aufruf wie der folgende:

testProperty(target, "propName", String.class);
testProperty(target, "propName", String.class, "expected initial");

Validieren würde, dass:

  • get und set Methoden existieren.
  • Wenn mit erwarteten Wert einen test zu get Anrufe assertEquals für den angegebenen Wert.
  • (get,is)/set Methoden Verhalten sich wie erwartet.

Könnte ich ein schreiben beginnen diese Implementierungen, aber ich möchte wissen, ob es etwas gibt, zur Verfügung, um dies zu erleichtern. Andere optionale Attribute können verwendet werden, um zu überprüfen, dass null zulässig ist, oder verwenden JSR-303 bean-Validierung zur Validierung das Feld.

  • Ist es nicht etwas erschöpfend zu testen, für getter/setter? Ist es erforderlich?
  • IMHO ist diese Art des testens sollte vermieden werden. Es wird erzeugen weit mehr Arbeit, als Belohnung, nicht zu erwähnen, eine Tonne von tests, die verwaltet werden müssen.
  • Ich bin völlig einverstanden mit Euch beiden. Ich persönlich niemals die getter/setter und verlassen Sie sich auf NetBeans zu erstellen. Immer wenn ich diese ändern, ich lösche vor der getter/setter und regenerieren Sie aus den Bereichen. Aber was ist code coverage?
  • code-coverage erreicht werden kann, wenn diese getter/setter sind aufgerufen, in anderen Testfällen!
  • Ist das nicht die Automatisierung von unit-tests Art zu besiegen Ihren Zweck?
  • IMHO keine. Jeder hatte einen bug, da die setter-Einstellung war das argument, anstelle der Instanz-Variablen? Dies ist etwas, was ich schon sehr viel gesehen, wo die Methode könnte in Ordnung sein, aber die Instanz-variable hatte, ein Tippfehler und keine ausdrückliche this. in den setter. Ich bin sicher, es gibt noch mehr Beispiele.
  • Was ist code coverage? Das Ziel der Entwicklung ist nicht zu 100% Abdeckung. Plus, wenn es nicht verwendet wird, in anderen tests, warum halten Sie es? Eine option - Project Lombok. Schreiben Sie nicht den Getter/setter. Nichts zu testen.
  • Viele business-entity-beans verwendet werden wird nur von service-Methoden, füllen Sie diese Bohnen. Diese müssen geprüft werden, um sicherzustellen, dass Sie gerade zurückgekehrt von einer mock-Dienst ordnungsgemäß, allerdings ist dies praktisch nur die Prüfung, dass die entity-Eigenschaften arbeiten. Eine Möglichkeit, um zu testen, diese ohne aufwändige und fehleranfällige Prüfungen von Vorteil ist.
  • Sie können einen Blick auf die folgenden Bibliotheken, kann es sein, was du suchst: outsidemybox.github.com/testUtils

InformationsquelleAutor Brett Ryan | 2012-08-08
Schreibe einen Kommentar