Wie planen C# unit-tests mit Jenkins?
In den letzten 6 Monaten war unser test-team wurden mit selenium webdriver testen Sie unsere web-basierte Produkte. Wir hatten großen Erfolg mit und Sie weiter zu verwenden es auf einer täglichen basis. Wir verwenden visual studio, da wir uns ein .net-shop zu schreiben, den c# unit-tests. Wir verwenden keine andere testing-frameworks für .net.
Wir haben bis vor kurzem in Betrieb war unsere Automatisierungs-tests, der manuell über die test-explorer-Fenster in visual studio (2013), die überprüfung auf die Ergebnisse und protokollieren Sie Sie in einer Tabellenkalkulation. Ich weiß, das ist nicht ideal, aber wir haben nicht so viele tests, so dass dies hat für uns fein so weit. Allerdings ist die Zahl der Automatisierung von tests wir werden benötigt, um zu schreiben und zu pflegen ist aufgrund der rapide Anstieg in den nächsten Monaten.
Ich habe vor kurzem das Spiel mit dem erstellen von batch-Dateien aufrufen vstest.console.exe und die verschiedenen Befehle und dann das hinzufügen dieser Protokolle an einen server. Nicht ideal. Ich weiß, ich kann noch nicht so viel mehr, speziell zu integrieren eine Art von CI-server.
Sind wir bereits mit team foundation server und haben verschiedenen virtuellen Servern (alle mit windows 8.1) zur Verfügung, so dass ich dachte, über die Vorteile dieser, so begann ich auf der Suche in Jenkins. Problem ist, ich bin nicht der Suche nach viel Informationen über Jenkinks und c#. Es sieht in Erster Linie darauf ausgerichtet eine java-setup. Bin ich etwas fehlt? Was wenig Informationen, die ich gefunden habe, ist völlig überholt und hat bei mir nicht funktioniert.
Hab ich soweit einrichten und installieren vstest.console.exe plugin, aber konnte nicht ein einfacher test, um zu laufen. Eine aktuelle Schritt für Schritt Anleitung, die nicht ein Datum vor 2012 wäre toll 🙂
Denken Sie Kerle, dass Jenkins ist der Weg zu gehen für c# und das .net framework? Ist es eine "standard" verwendet, innerhalb der c# community? Ich habe gehört, cruise control und ich werde prüfen, ob aus. Ist es eine brauchbare alternative? Einfacher zu bedienen mit .net?
Hier ist im wesentlichen das, was wir brauchen:
- Weiter schreiben unsere tests in visual studio und erstellen von c# unit-tests
- Zeitplan ein Ausführung unserer unit-tests auf einem remote /local server
- Schreiben Sie eine Ergebnis /log-Datei - schöne reporting-Funktionen, die auf fehl /geht wäre toll
- E-Mail-Datei an die qa /dev teams
Ich hoffe, einige von Euch haben diesen Weg einmal und geben einige Einblicke
- Mit CI nur für die Ausführung von geplanten tests scheint übertrieben. Mit dem Taskplaner aufrufen einer batch-Datei wäre einfacher. Es gibt auch TFS selbst. Auch die Visual-Studio-test-runner, AFAIK, Ausgänge trx-Dateien. Nicht sicher, wie einfach es sein wird zu konvertieren dieser in ein lesbares Ergebnis/log-Datei. Ich bin interessiert zu sehen, wie die Antworten auf, dass eine Pfanne heraus.
- TFS hat schon diese eingebaut. Hinzufügen von Jenkins am Anfang aller dieser, ist das hinzufügen einer horrenden Betrag der zusätzlichen Komplexität und die Vervielfältigung für wenig bis keinen Gewinn. Schauen Sie in TFS richtig, es kann dies alles aus der box (vor allem, wie Sie mit den integrierten MSTest).
- Danke Jungs. Blick auf die TFS, die in mehr Tiefe
- TFS ist gut, anderen (besseren, gemäß unserer build-Typ) die option ist Teamcity.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es möglich, Jenkins tests ausführen über batch-Skripte, die Berichterstattung zurück zu Jenkins über die NUnit oder MSTest plugins. Um dies zu tun, rufen Sie einfach den test runner von einem Jenkins-Skript ausgeführt (siehe links unten). Der primäre Grund für diese Aktion in meinem shop ist, dass Jenkins wird verwendet, um die Automatisierung des build-Prozess und automatisierten tests ausgeführt werden jedes mal, wenn neuer code wird gefördert. Wenn Sie nicht mit Jenkins für die build-Automatisierung und reporting - d.h. Sie wollen einfach nur, scheduling - die einfachste Lösung wäre die Aufgabenplanung (als John O angegeben). Plus, wenn Sie mit MSTest eher als NUnit dann, wie andere vorgeschlagen haben, ist es besser, einen Blick auf TFS.
Wenn Sie wirklich wollen, zu verwenden Jenkins mit MSTest, die folgenden links können hilfreich sein, aus einer Konfigurations-Perspektive:
Fehler beim Versuch zu laufen mstest auf jenkins - 2012
Beispiel für das ausführen MSTest von Jenkins aus obigen link:
Jenkins MSTestRunner plugin ist nicht in der Lage zu starten mstest.exe - 2014
Wenn Sie können/nutzen wollen, NUnit, schauen Sie sich die folgenden:
Wie führe NUnit-tests von Jenkins?
Ausführen von NUnit mit Jenkins
Eigentlich, für die Berichterstellung, Protokollierung in Excel oder ähnliches ist nicht eine schreckliche Idee (vor allem, wenn in Ihrer Organisation Sharepoint). Schlimmste kommt zum schlimmsten und Sie können nichts, bekommen nichts zu arbeiten, dann eine Lösung wäre die Automatisierung dieses Vorgangs durch die Verwendung der Excel-COM-Objekt-Modell, um direkt schreiben die Ergebnisse auf dem Arbeitsblatt.
Würde noch vorschlagen, dass TFS ist Ihre beste Wette, aber.
Werde ich Ihnen einige Informationen darüber, wie geprüft werden kann, Griff aus CI nicht genau, wie das zu konfigurieren, Jenkins oder anderen CI-server. Dies könnte eine teilantwort auf deine Frage, aber wenigstens etwas. Denken Sie daran, selenium-tests brauchen immer eine live-Website zu zeigen und bevor Sie kick-off des tests-Ort-Einsatz passieren sollte(entweder manuell oder automatisch). Ich bevorzuge die Ausführung der test-suite, einmal bei Nacht und lassen Sie es gehen die ganze Nacht. Sie können ganz einfach erreichen dies mit Hilfe von
NUnit
console, batch und Taskplaner von windows. Siehe meine Antwort hier, wie das zu tun. Sicher genug, dies kann erreichen, von anderen CI-server. Mit NUnit Befehl wechseln können Sie exportieren, ergeben sich automatisch auch.