NUnit - Lädt ALLE TestCaseSources, auch wenn sie vom aktuellen Test nicht benötigt werden

9

Ich benutze seit kurzem NUnit, um Integrationstests für mein Projekt durchzuführen. Es ist ein großartiges Werkzeug, aber ich habe einen Nachteil gefunden, auf den ich nicht die Antwort zu finden scheint. Alle meine Integrationstests verwenden das TestCaseSource-Attribut und geben für jeden Test einen Testfallquellennamen an. Nun besteht das Problem darin, dass die Vorbereitung dieser Testfall-Quellen einige Zeit in Anspruch nimmt (~ 1 Min.) Und wenn ich einen einzigen Test durchführe, lädt NUnit immer ALLE EINZIGEN Testfall-Quellen, auch wenn es keine Testfallquelle für den Test ist dass ich renne.

Kann dieses Verhalten geändert werden, so dass nur die Testfallquelle (n) für den Test, den ich gerade laufe, geladen werden? Ich möchte vermeiden, dass jedes Mal neue Assemblies erstellt werden, wenn ich einen neuen Test erstellen möchte (scheint eher überflüssig und umständlich, um nicht zu sagen, schwer zu warten), da ich gelesen habe, dass Tests in verschiedenen Assemblies separat geladen werden, aber ich tue nicht. Ich kenne die Testfallquellen. Es ist erwähnenswert, dass ich Resharper als Testläufer benutze.

TL; DR: Muss NUnit mitteilen, dass es nur die TestCaseSources lädt, die für die Tests benötigt werden, die in der aktuellen Sitzung ausgeführt werden. Das aktuelle Verhalten ist, dass ALLE TestCaseSources für jeden ausgeführten Test geladen werden.

    
Anshul 05.09.2013, 14:24
quelle

1 Antwort

1

Könnten Sie dies tun, indem Sie Ihre Quelleninstanziierung auf eine Hilfsmethode verschieben und sie in den Setup-Methoden für jede Testgruppe aufrufen? Ich habe oft eine Reihe von Hilfsmethoden in meiner Integrationstest-Suite, die gemeinsame Daten für verschiedene Tests einrichten. Ich rufe nur die Hilfsmethoden auf, die ich für die aktuelle Suite in [Setup] benötige

    
Jim Sowers 06.09.2013 13:23
quelle