Frage

Ich habe einen großen Satz von Nunit -Tests; Ich muss die Ergebnisse aus einem bestimmten Anlauf in eine Datenbank importieren, dann die Ergebnisse charakterisieren und den Benutzern (E -Mails für Testfehler, Webpräsentation für die Prüfung der Ergebnisse) vorstellen. Ich muss auch im Laufe der Zeit mehrere Läufe verfolgen (für die Meldung von Ausfallraten im Laufe der Zeit usw.).

Das XML ist das von Nunit-Console erzeugte XML. Ich möchte das XML mit einem Minimum an Aufhebens in eine Datenbank importieren, die dann verwendet werden kann, um bestehen und Ergebnisse vorzustellen. Wir werden eine Reihe von benutzerdefinierten Kategorien haben, die wir auch sortieren können.

Kennt jemand ein Datenbankschema, mit dem diese Art von Daten importiert werden kann, die an unsere individuellen Bedürfnisse angepasst werden können? Diese Art von Problem scheint üblich zu sein, und daher sollte eine gemeinsame Lösung dafür vorhanden sein, aber ich kann nicht einen finden. Wenn jemand zuvor eine solche Lösung implementiert hat, wird auch Ratschläge geschätzt.

War es hilfreich?

Lösung

Es klingt für mich so, als wären Sie tatsächlich nach einem Build -Server wie beispielsweise Cruisecontrol.net oder Teamcity.

Lassen Sie den Build -Server die Tests ausführen, und er sagt den Leuten, den Menschen zu sagen, was fehlgeschlagen ist und warum.

Ich empfehle Teamcity, da es mehrere Größenordnungen leichter aufstellen kann.

Andere Tipps

Ich bin hier, um das gleiche Problem zu lösen. Wir beugen derzeit ein XSLT, um die XML -Ergebnisse in Einfügeanweisungen zu verwandeln. Führen Sie dann die resultierende Datei von Einfügenanweisungen über eine Befehlszeile SQL Interpreter aus. Im Idealfall hätte ich lieber ein NUNIT-Add-In/Erweiterung, das all dies für mich behandelt. Leider konnte ich keinen finden.

Um Iainmhs Antwort aufzubauen, möchten Sie vielleicht einen Blick auf die Verwendung von TRAC werfen GEBISSEN, Es handelt sich um ein Open-Source-Build-System, das N-Einheit-Tests ausführen und die Ergebnisse melden kann. Ich benutze es derzeit für genau für diese Funktionalität.

Bei Verwendung von MS SQL können Sie alle XMLs in eine gemeinsame Spalte mit [XML] -Datenatyp importieren. Darauf können XPaths, Such- und Transformationen durchgeführt werden.

Eine weitere Alternative zu CruiseControl oder Teamcity ist Atlassianer Bambus Wenn Sie nach Bargeld geschnallt sind. Ich bin ein großer Fan ihrer Software, um ihre Benutzerfreundlichkeit zu bedienen, und sie haben einen Deal darüber, wo Sie Bambus für 10 Dollar bekommen können.

Wir haben gehofft, dies zu vermeiden, aber wir haben ein Datenbankschema aus dem Nunit -Ergebnis XML -Schema generiert. Es ist jedoch ein bisschen mangelhaft, da Nunit eine (ungenaue und seltsame) Verarbeitung durchführt, um einige der kritischen Statistiken zu bestimmen ("ignoriert" vs. "nicht laufen", z. B.).

Wir hoffen immer noch, ein Schema / Prozess zu finden, das kein vollständiges CIT-Build-System ist, mit dem wir eine Datenbank zum Importieren der Ergebnisse anpassen können. Derzeit verwenden wir jedoch eine handgeklemmte Datenbank, die wir tun müssen Viele Anpassungen, um die gewünschte Berichterstattung zu erhalten.

Warum müssen Sie die Ergebnisse in einer Datenbank haben? Wer wird sie benutzen? Die Anzahl der Fehler kann nicht groß sein. Wenn es (wiederholt) ist, ist Ihr Entwicklungsprozess falsch. Beheben Sie den Prozess. Entfernen Sie Abfall (eines der mageren Prinzipien), sammeln Sie ihn nicht.

Machen Sie kleinere Schritte (kürzere Iterationen, kontinuierlicher Build), beseitigen Abhängigkeiten.

Dies ist nicht üblich, da Projekte, die solche Probleme haben, nicht liefern, sondern (schließlich) abgesagt werden.

Bearbeiten] Michael, verfolgt die Verfolgung von Nunit -Fehlern über einen längeren Zeitpunkt keinen Wert. Sie benötigen eine kurze Rückkopplungsschleife. Beheben Sie jetzt die Probleme. Wenn Sie warten, bis Sie viele Probleme angesammelt haben, werden Sie vom Geräusch überwältigt sein.

Eine gute Problemverfolgung erfolgt auf der richtigen (höchstmöglichen Abstraktion). Auf keinen Fall Unit -Test.

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