In diesem Artikel wird erwähnt, dass das Poster zur Beschleunigung von Tests mehrere Instanzen von NUnit mit Befehlsparametern ausführt, die angeben, welche Tests jede Instanz ausführen soll.
Freihandelsabkommen:
Ich bin auf ein seltsames Problem gestoßen.
Wir verwenden nunit-console, um Tests auf unserem Continuous Integration Server durchzuführen. Kürzlich sind wir von Nunit 2.4.8 auf 2.5.5 und von .Net 3.5 auf 4.0 umgestiegen. Um die Testausführung zu beschleunigen, führen wir mehrere Instanzen von Nunit parallel mit verschiedenen Befehlszeilenargumenten aus
- Wir haben zwei Kopien unserer Testbaugruppen und der Nunit-Binärdateien in Ordner A und B.
- In Ordner A führen wir aus
nunit-console-x86.exe Model.dll Test.dll / exclude: MyCategory /xml=TestResults.xml /framework=net-4.0 / noshadow
- In Ordner B führen wir aus
nunit-console-x86.exe Model.dll Test.dll / include: MyCategory /xml=TestResults.xml /framework=net-4.0 / noshadow
Wenn wir die Befehle nacheinander ausführen, werden beide erfolgreich ausgeführt. Aber wenn wir sie parallel ausführen, ist nur einer erfolgreich. Soweit ich das beurteilen kann, ist es derjenige, der zuerst die Testvorrichtungen lädt. Der andere schlägt mit der Meldung "Gerät kann nicht gefunden werden" fehl.
Ist dieses Problem bereits bekannt? Ich konnte nichts in der Fehlerliste auf dem Launchpad finden. Übrigens: Auf unserem Server wird Windows Server 2008 64-Bit ausgeführt. Ich könnte das Problem auch unter Windows 7 64-Bit reproduzieren.
Angenommen, dieser Fehler ist behoben oder Sie führen nicht die neueren Versionen der genannten Software aus, sollten Sie in der Lage sein, deren Technik zu replizieren.
Aktualisieren
TeamCity sieht aus wie ein Tool, mit dem Sie NUnit-Tests automatisch ausführen können. Sie haben einen hier diskutierten NUnit-Launcher, mit dem mehrere NUnit-Instanzen gestartet werden können. In diesem Blogbeitrag wird die Zusammenführung mehrerer NUnit-XML-Ergebnisse zu einer einzigen Ergebnisdatei erläutert.
Theoretisch könnte TeamCity also automatisch mehrere NUnit-Tests starten, je nachdem, wie Sie die Arbeitslast aufteilen und die Ergebnisse dann für die Verarbeitung nach dem Test in einer einzigen Datei zusammenführen möchten.
Ist das automatisiert genug für Ihre Bedürfnisse?