Wir haben eine Reihe von etwa 1000 (derzeit) Tests, geschrieben in C#, die zweimal pro Woche laufen. Wir verwenden TFS 2017 Update 1 (On-Premise) und das System ist so konfiguriert, dass Tests auf 6 VMs ausgeführt werden, die auf einem anderen Computer eingerichtet sind. 4 dieser VMs führen Windows Server 2012 R2 aus, die anderen 2 sind Windows Server 2016. Alle sind mit Updates auf dem neuesten Stand. Die Entwicklung erfolgt mit VS 2017. Bei allen Tests handelt es sich um direkte, nicht-UI-funktionale Tests, bei denen Instanzen von SQL Server auf jeder Maschine verwendet werden, ohne dass während der Tests eine cross-machine Kommunikation stattfindet. Jede Maschine ist ihre eigene abgeschlossene Umgebung.TFS: nicht alle Agenten Maschinen laufen (irgendwelche) Tests während der Erstellung
Alle Tests laufen lokal gut (oder wenn sie fehlschlagen, wissen wir, warum und das ist in Ordnung). Wenn wir einen Build starten, scheinen der eigentliche Build und andere vorbereitende Schritte gut zu laufen. Wenn es jedoch zum Schritt "Ausführen von Funktionstests" kommt, beginnen nur EINIGE der Agentenmaschinen sie auszuführen, typischerweise 2 der 6, manchmal 3 und nicht normalerweise die gleichen. Mit Blick auf Task-Manager kann ich sehen, dass die anderen VMs keine Prozessoraktivität haben, von der zu sprechen ist. Ich habe keine Ahnung, warum das so sein sollte, oder warum es verschiedene Maschinen zu sein scheinen, die erfolgreich starten und Tests von Lauf zu Lauf starten.
Der Kicker ist, dass, weil alle Maschinen nicht laufen, dies uns über die Grenze von 6 Stunden Limit Testlauf, die ich in anderen Threads behandelt haben gesehen .... Ich habe alles versucht in diesen Threads (einschließlich die Einstellung in der .runsettings-Datei) und kann nicht dazu gebracht werden, dieses Timeout zu verlassen, und so bricht unser gesamter Lauf nach 6 Stunden ab, wobei viele der Tests abgebrochen werden. Aus irgendeinem Grund haben wir letzte Woche alle Tests sauber durchgeführt ... seit dem vorherigen Lauf hat sich nichts geändert und es wurde mit dem nächsten Lauf auf dieses Verhalten zurückgesetzt.
Einsicht auf entweder die „faulen“ Maschinen nicht Prüfungen oder das 6 Stunden Timeout zu entfernen wäre sehr willkommen ...
Zusätzlicher Hinweis: dieses Verhalten started „aus heiterem Himmel“, am oder um den August 9. Bis dahin wurden alle Maschinen wie gewünscht ausgeführt. Keine Software-Upgrades oder irgendetwas anderes verdächtiges passiert irgendwo in der Zeit. Obwohl das 6-Stunden-Zeitlimit-Ding mich seit einem Jahr oder so nervt.
Haben Sie in der Build-Aufgabe Run Functional Tests die Option "Tests nach Anzahl der Maschinen verteilen" ausgewählt? –
Ich habe die Einstellung "Tests nach Anzahl der Maschinen verteilen" entdeckt, glaube ich, als wir auf das Jahr 2017 umgestellt haben und seitdem eingestellt wurden. Die Einstellungen runTimeout und testTimeout sind in der Datei testsettings auf eine Woche festgelegt, und in der Datei runsettings befindet sich ein Verweis auf die Datei testsettings. – Dan
Wie lauten die Einstellungen für die Task zur Bereitstellung des VisualStudio-Testagenten und den Task "Funktionstest ausführen"? Können Sie einen Screenshot für sie und die Build-Protokolle für diese beiden Aufgaben freigeben? –