2016-04-05 13 views
0

Wir haben einen Bamboo-Build-Server und ein Build-Projekt, das für einige tausend Integrationstests konfiguriert ist, was pro Build mehr als 20 Minuten in Anspruch nimmt, aber es ist ein lohnender Preis für die Sicherheit einer soliden Suite von Integrationstests . Das Projekt befindet sich in C#/ASP.NET.Wie finde ich heraus, wo NUnit hängt?

Das Problem ist, dass der NUnit Schritt häufig hängt. Scheitert nicht, stürzt nicht ab ... aber es hört einfach auf zu arbeiten und kann tagelang in diesem Zustand bleiben, bis jemand merkt, den Build stoppt und neu startet. Was uns natürlich einen großen Rückstand von anderen Builds zurück lässt, die sich in der Warteschlange befanden.

Dieses Verhalten ist vollständig inkonsistent. Ich würde schätzen, dass es ungefähr 50% der Zeit funktioniert. Wir haben 2 Build-Agenten auf separaten Rechnern, und jeder von ihnen ist gleichermaßen von hängenden Builds betroffen.

Gibt es eine Möglichkeit, NUnit zu veranlassen, seinen Fortschritt durch die Integrationstests zu protokollieren, damit wir zumindest eine Idee bekommen können, wenn ein Test regelmäßig dazu führt, dass der Build hängt? Oder irgendwelche anderen Ideen, wie wir dieses Problem diagnostizieren und beheben könnten?

+0

Haben Sie parametrisierte Tests? – Valentin

+0

@Valentin: Wenn damit meine Tests gemeint sind, die mit '[TestCase (param1, param2)]' 'versehen sind, dann ja. –

+0

Können Sie remote debuggen in die Build-Maschine, die an den Prozess des Nunit-Agenten angehängt ist, um zu sehen, wo Ihre Tests hängen geblieben sind? –

Antwort

1

Für Nunit v2.0.50727

Lauf mit Kommandozeilenparameter/Etiketten Dies gibt den vollständigen Namen eines jeden Test, wie es ausgeführt wird.