Frage

Wenn jemand einen kleinen Diagnose, internen Web-App erstellt hat, die (Einheit) Tests als seine Logik verwendet, gibt es immer einen triftigen Grund, das zu tun? Beachten Sie, dass Nunit werden muss, als auch im Einsatz, wo immer diese Website geht.

Ich bin der Ansicht, dass Programme ihre eigene Logik und möglicherweise wiederverwendbare Teile (falls vorhanden), aber nicht einwickeln Tests für ihre Logik enthalten sollte. Tests dienen dem Zweck der Validierung für die Code-Logik. Wenn Sie sagen, als Tests werden Code-Logik sein, sollten nicht Sie Tests schreiben müssen die Tests zu validieren? Warum ist das grundsätzlich falsch?

Hinweis: Da Sie nun alle diese Tests zusammen und zueinander in Beziehung sie sind Bespannen, das heißt, sie sind nicht mehr abhängig

(?).
War es hilfreich?

Lösung

für etwas anderes einen Unit-Test-Framework als Unit-Tests ist in der Regel nicht der richtige Weg. Sie müssen keine Tests für die Komponententests schreiben, da Sie sie zuerst schreiben und sehen, wie sie scheitern. Das ist, wie Sie wissen, dass sie einwandfrei funktioniert. Ich schätze, dass innerhalb eines Unit-Test-Framework geschrieben Testcode nicht trivial ist, und wenn ich eine Diagnose App für eine kritische Stück Software hätte, würde ich wirklich sicher mag sein, es funktioniert, wie es sollte.

Edit: Es scheint, dass Sie bereits Ihren Geist gemacht haben, aber brauchen Unterstützung auszudrücken, warum die aktuelle Strategie ist weniger als ideal, um vielleicht andere Projektmitglieder. Wenn das der Fall ist, empfehle ich Ihnen Ihren Code setzen, wenn Ihr Mund ist, und zusammen eine kleine Beispielanwendung unterschiedlich ausgestaltete werfen. Wenn ein Einheit Test-Framework in diesem speziellen Fall der Verwendung eine schlechte Design-Entscheidung, dann machen, dass wäre es klar wie Sonnenschein.

Andere Tipps

Ich bin mir ziemlich sicher, wenn man sich diese Frage suchen TDD Anti-prasselt Katalog , Sie werden feststellen, dass Sie anti-Muster commiting trennen.

-Code ist der Code. Nur weil es ein Test markiert ist, bedeutet nicht, es nicht auch eine nützliche Anwendung ist.

Angenommen, wir haben eine Menge Überprüfungen von beahviour schreiben müssen. Warum wird mit Test-Framework eine schlechte Idee? Shoudl wir stattdessen einen neuen Rahmen mit gleicher Funktion schreiben und es etwas anderes nennen?

Nehmen Sie eine Außenansicht. Diese applciation behauptet, bestimmte Dinge zu tun. Hat es sie richtig tun? zuverlässig? Kann es aufrechterhalten wird, verbessert werden? Verstanden?

Wenn ja, warum ist es Ihnen, dass es einen Test-Framework bei der Umsetzung zu verwenden, geschieht. Wenn sein Verhalten oder die Struktur defekt ist und wir kritisieren.

Eine schöne Sache über großartige Technologie ist, dass es unerwartete Anwendungen hat.

Der Zweck der Unit-Tests ist es, die Klasse funktioniert, wie stellen Sie sicher, es sollte und entsprechend der Schnittstelle. Also, wenn Sie Ihre Unit-Tests für einige Tests App verwenden scheint es, wie in der Logik die behaupten, mit.

Wenn Sie einige Tests App benötigen - es implementieren und mit Unit-Tests verwenden. Es ist vielleicht etwas zu konfigurieren oder eine Interaktion mit dem Benutzer zu erhalten.

Einer der anderen Gründe, warum ich sehe - Unit-Test wird nach Annahmen geschrieben, wie alles funktioniert. Wenn Ihre Annahme ist, sollte Recht Tests bestehen. Beim Hinzufügen von Funktionalität Unit-Tests lassen fühlen Sie sich sicher, dass alle Annahmen sind immer noch da. So sollte jeder Test so einfach gehalten werden, wie Sie es halten können. `s, warum keine Notwendigkeit, Test-Code zu testen und keine Notwendigkeit, Testcode in allen Testanwendungen zu verwenden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top