Warum hängt NUnit von der Befehlszeile, aber nicht unter TestDriven.NET?

Wenn ich meine Unit-Tests unter VS2008 von TestDriven.NET starte, laufen sie ziemlich sofort.

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

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

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

Ich kann nicht sicher sein, da ich auch eine neue Version verwenden kann. Sie haben wahrscheinlich eine riesige Testsuite mit vielen Tests, nicht wahr? Wenn Sie die Isolation der Anwendungsdomäne aus anderen Gründen nicht benötigen, können Sie turn it off und dann die Remoting- / Marshalling-Zeit sparen.

Probieren Sie dies bitte aus und geben Sie uns Feedback, wie es gelaufen ist:

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

Sie können diese Optionen auch über the configuration files hinzufügen, wenn Sie Ihre Build-Skripts auch nicht mit einem Stick berühren möchten. 🙂

Ursprüngliche URL:https://stackoverflow.com/questions/2332687/why-is-nunit-hanging-from-the-command-line-but-not-under-testdriven-net

Zitieren Sie bitte die URL dieses Artikels: Warum hängt NUnit von der Befehlszeile, aber nicht unter TestDriven.NET?