2010-08-23 10 views
5

Ich weiß, dass diese Frage ziemlich ähnlich zu anderen ist, die vorher gepostet wurden, aber ich möchte dieses Thema in angemessener Weise diskutieren.Argument Ausnahmen sollten Unit Getestet sein?

Denken Sie, dass die "offensichtliche" Ausnahme Einheit getestet werden sollte?

Mit offensichtlicher Ausnahme meine ich zum Beispiel Ausnahmen aufgrund von Nullargumenten oder leere Strings oder negative Zahlen in Situationen, in denen uns die Geschäftslogik unserer Einheit verdeutlicht, dass diese Ausnahmen immer am Anfang unserer Methode geworfen werden (s) vor jeder anderen Operation.

Mit anderen Worten spreche ich von den Ausnahmen, die nach der Verletzung des einfachsten Teils eines Klassenvertrags ausgelöst werden sollten.

Vielen Dank für Ihre Meinung.

Antwort

1

Ich schließe normalerweise diese Tests ein. Es ist eigentlich ein schöner Ort Entwicklung beginnen, denn wenn man TDD verwenden Sie möglich, den einfachste Test haben können schriftlich Produktionscode zu starten, und wenn Sie nicht über TDD verwenden haben einen schönen Weitergabe Test :)

8

Absolut. Du nennst sie "offensichtlich", aber es ist nicht offensichtlich, dass du dich daran erinnerst, die Vorbedingungen zu überprüfen. Tatsächlich macht der Großteil des Codes, den ich in meiner Karriere gesehen habe, keinen offensichtlichen Schritt, um später ein Chaos zu verhindern.

Während Sie dies in Bibliothekscode sehen, der für den öffentlichen Verbrauch, Wiederverwendung usw. geschrieben ist, scheint es, dass die meisten Entwickler daran denken, solche Prüfungen in den eigenen Code zu legen. In einer Test-getriebenen Umgebung zwingt das Setzen von Tests für solche Bedingungen Entwickler dazu, Eingabeparameter mit ihren öffentlichen Methoden richtig zu validieren.

Und lass uns fair sein ... jede Chance, einen weiteren Test zu schreiben und den grünen Balken zu sehen, bin ich glücklich. :)

0

Ja, Sie sollten Unit-Test auch die einfachste Logik in Ihrem Getters und Setter testen. Wenn sich dieser Code während des Refactorings ändert, sollten Sie sicherstellen, dass das Einheitentest-Sicherheitsnetz vorhanden ist, um sicherzustellen, dass keine Fehler gemacht werden. Das Ausführen der Tests ist ein sehr schneller Weg, um diese Fehler zu finden, sobald sie gemacht sind.

Die einzige Zeit, die ich Getters und Setter nicht testen, ist, wenn sie nur einfache Zuordnung tun oder einen Wert zurückgeben.

3

ich immer schreiben auch einen Test für eine solche „einfache, offensichtlich“ die Dinge vor allem, weil

  • Ein entsprechender Test für diese „offensichtlich“ Situationen in der Regel sehr schnell geschrieben und deshalb bin ich fast schneller in schnell zu schreiben, anstatt über die Tatsache nachzudenken, ob eine Probe stellen oder nicht
  • ein einfacher Testfall ist besser als kein Testfall
  • -Test für zukünftige ändert. Mit einem Test wird sichergestellt, dass kein anderer Entwickler in meinem Team meinen Code beim Refactoring/Bugfixing usw. bricht.
Verwandte Themen