Ein paar Fragen:
1.) Geben Sie den Testfreigabecode ein?
2.) Wenn ja, belassen Sie diese Komponententests dann intakt, damit die Tests selbst in der Produktionsumgebung existieren?
Ich sehe den Wert in # 1, aber ist es eine "gute Methode", Abhängigkeiten in der Produktion beispielsweise zu den NUnit-Assemblies zu erstellen?
Gib mir deine Gedanken.
Das obige ist meine allgemeine Regel (ich stelle normalerweise nichttechnische Benutzer bereit). Jedoch habe ich eine Ausnahme, die ein Programmiertool ist, das mit ~ 130 Testskripten Unit-getestet wird. Da die Testskripts zum Beispiel doppelt vorhanden sind, stelle ich diese zusammen mit der Produktionsversion bereit und erweitere damit die vorhandene Dokumentation.
Die Bereitstellung von Tests mit Open-Source-Code lohnt sich auf jeden Fall. Es ermöglicht Benutzern, mit Patches zu spielen, sie zu modifizieren und zu senden, während sie in der Lage sind, die erfolgreich bestandenen Tests auszuführen, damit das ursprüngliche Artefakt freigegeben werden kann.
Ja natürlich! Komponententests werden für alle Buildkonfigurationen ausgeführt.
Komponententests sind immer intakt, aber das bedeutet nicht, dass ausgelieferte Assemblies von Tests abhängig sind. Tests werden immer in einer parallelen Assembly (in derselben Build-Umgebung) geschrieben, die dann die Produktionsassembly testet. Die parallele Baugruppe wird nicht ausgeliefert, da sie nur die Tests enthält.
Hängt vom Projekt ab. Ja zu Nummer 1. Nach dem Grundsatz, dass alles in die Quellcodeverwaltung eingecheckt werden sollte und es einfach sein sollte, einen neuen Entwickler in Gang zu bringen. Machen Sie sie Teil der Codebasis. Neue Leute können einen Check-out durchführen und die Tests durchführen.
Ob sie in der Produktion eingesetzt werden, ist ein anderes Problem. Ich habe nicht an einem Projekt gearbeitet, das sie dort gebraucht hat. Das Bereitstellungsmodell von Rails ist (im Allgemeinen) einfach ein Check-out des gesamten Projekts auf einer Produktionsmaschine, also ja, sie sind da. Java / Maven-Projekte haben einen ganzen Build / Packaging-Schritt, und im Allgemeinen können Komponententests beim Erstellen der endgültigen WAR-Datei entfernt und entfernt werden.
In jedem Fall erwarten Sie nicht, dass sie laufen. In der heutigen Umgebung spielt es keine Rolle, ob sie sich dort befinden - Speicher und Festplatten sind so billig, dass es wirklich kein Problem ist. Ich habe das Argument gehört, dass Sie den Testcode nicht auf dem Produktionsserver haben wollen, so dass kein Risiko besteht, dass er ausgeführt wird, aber ich habe noch nie von einem Szenario gehört, in dem dies wirklich passieren würde.
Tags und Links unit-testing agile production-environment