2015-11-02 9 views
9

Ich verwende den Test Explorer in Visual Studio 2015 über den NUnit VS Adapter, um meine Komponententests auszuführen.Warum werden die NUnit-Testzeiten bei Verwendung von "Alle ausführen" im VS 2015 Test Explorer langsam?

Wenn Test-Explorer mit ‚All Run‘ Befehl/meine Tests ausführen und zeigt Pass innerhalb einer Sekunde scheitern, doch die Gesamtlaufzeit beträgt 34 ​​Sekunden.

Test Explorer using 'Run All'

Wenn alle Tests auswählen und auf ‚Ausführen ausgewählte Tests‘ mit dem rechten Maustaste im Kontextmenü der gleichen Tests eine Gesamtlaufzeit von 1 Sekunde.

Test Explorer using 'Run Selected Tests'

Ich habe gefunden haben keine Hinweise darauf, warum dauert es so viel länger ‚All Run‘ zu verwenden.

Antwort

2

Schauen wir uns das Ausgabefenster an. Wenn ich nehmen "Run all" das Ausgabefenster sieht wie folgt aus

------ Entdecken Test gestartet ------
========== Entdecken Test beendet: gefunden 92 (0: 00: 00.4993709) ==========
------ Run Test gestartet ------
========== Run Test beendet: 92 run (0: 00: 04.157636) ==========

Wenn ich stattdessen alle Tests wähle ich das Ausgabefenster wie diese

sieht testen möchten

------ Run Test gestartet ------
========== Run Test beendet: 92 run (0: 00: 03.7262618) ======== ==

der Punkt ist, dass, wenn Sie nehmen „alle Run“ der Test-Explorer hat durch den gesamten Code zu gehen und wieder finden alle Klassen mit dem „Testclass“ Attribut und alle ihre Methoden verziert mit dem „Testmethod“ Attribut (dies geschieht durch Reflexion, die in einigen Fällen ein bisschen "langsam" sein kann). Warum? Damit der Test Explorer alle neuen und vorhandenen Testmethoden finden kann.

Wenn Sie manuell die Methoden wählen Sie testen möchten, ist der Test-Explorer muss nicht neu finden, alle bestehenden und neuen Methoden zu testen, daher ist es schneller.

Das ist ein bisschen eine Vermutung, was die „Gesamtlaufzeit“ bedeutet, habe ich noch nie verwendet NUnit und theese Gedanken zu lang waren in einem Kommentar zu schreiben.

Verwandte Themen