2010-02-25 4 views
37

Wenn ich meine Komponententests von TestDriven.NET unter VS2008 starte, laufen sie ziemlich sofort.Warum hängt NUnit von der Befehlszeile, aber nicht unter TestDriven.NET?

Wenn ich meine Komponententests mit nunit-console.exe starte, bleibt die NUnit-Konsole fünf Minuten lang stehen, bevor meine Tests tatsächlich ausgeführt werden. Wenn ich einen Debugger anschließe, scheint er seine Zeit in System.IO.MemoryStream.Read, aufgerufen von System.Runtime.Serialization.Formatters, aufgerufen von System.Runtime.Remoting, auf der anderen Seite einiger nativ verwalteter Übergänge zu verbringen, die von NUnit.Core.ProxyTestRunner.Test.get aufgerufen werden. Manchmal ist es in System.Runtime.Serialization.ObjectManager.RecordFixup oder .FindObjectHolder.

Dies ist mit NUnit-2.5.2 auf 32-Bit-XP, vollständig gepatcht. Alle Assemblys sind auf .NET 2.0 ausgerichtet.

Was istnunit-console bis zu? Gibt es eine Möglichkeit, es zu überreden, es nicht zu tun?

+1

Wie ist Ihre Anwendung konfiguriert? Es gibt eine lange Suchliste für Konfigurationsdateien. Wenn die Konfiguration nicht ausreicht oder ungültig ist, könnte es viel Zeit mit dem Versuch zu analysieren kosten. – ssamuel

+0

Ich wünschte, ich könnte mich erinnern: Ich bin jetzt auf VS2010, mit einer viel späteren Version von NUnit, und es funktioniert alles. –

+0

Nicht gerade eine Antwort, aber ich würde einfach aufgeben und mit XUnit gehen, es ist sowieso viel besser. –

Antwort

1

Ich kann nicht sicher sein, da ich auch Glück habe, eine neue Version zu verwenden. Sie haben wahrscheinlich eine große Testsuite mit vielen Tests, oder? Wenn Sie die Anwendungsdomänenisolation aus anderen Gründen nicht benötigen, können Sie turn it off und dann speichern Sie die Remoting/Marshalling-Zeit.

diese bitte versuchen Sie es und Feedback an uns geben, wie es ging:

nunit-console.exe /noshadow /nologo /process Single /domain None whatever.dll 

Es gibt auch eine Möglichkeit ist, diese Optionen über the configuration files, wenn Sie Ihre Build-Skripte auch mit einem Stock berühren wollen nicht hinzuzufügen. :)