2010-11-19 6 views
2

Ich benutze MSTest und die meisten meiner Unit-Tests haben keine TestCategory Attribut, aber ich möchte ein paar Tests in eine "Slow" -Kategorie. Dann möchte ich einfach alle Tests durchführen können, denen keine Kategorie zugewiesen ist.Wie kann ich in der Testansicht von MSTest eine Liste aller Tests ohne Kategorie erhalten?

Wenn ich zur Testansicht gehe, kann ich nach Testkategorien filtern, aber ich kann kein leeres Stichwort eingeben. Ich kann meine "Langsamen" leicht finden, aber wie finde ich meine Nicht-Langsamen? Ich versuche, eine Testkategorie für alle meine Tests zu vermeiden.

Ich denke, es ist nicht das Ende der Welt, wenn ich ... ein Suchen und Ersetzen sollte sie alle bekommen, aber wenn es eine Möglichkeit gibt, die nicht kategorisiert zu finden, würde ich gerne wissen.

Antwort

0

Fügen Sie im Testlisten-Editor Testkategorien als Spalte hinzu, gruppieren Sie nach None, und sortieren Sie nach Testkategorien. Tests ohne Kategorien werden oben angezeigt. Leider können Sie nicht nach Testkategorie gruppieren.

+0

Richtig, so lautet die Antwort: "Sie können nicht". Ich habe am Ende eine Beschreibung für jede Kategorie erstellt und sie als Kategorie verwendet, da Sie nach Beschreibungen gruppieren können. –

5

Sie können diese Tests auch von der Befehlszeile ausschließen.

mstest /testcontainer:foo.tests.dll /category:!Slow 
+0

Die Option '/ testcontainer' ist notwendig, damit die Option'/category' funktioniert. – xmedeko

-1

Es scheint, dass /category:!Slow überhaupt nicht funktioniert. Schlechte Sache! So ist es notwendig, zum Beispiel [TestCategory("unit")] Attribut zu allen Tests zu setzen.

Ein anderer, besserer Weg besteht darin, Geräte- und Integrationstests nach Projekten zu trennen und solche Tests separat auszuführen.

+0

Sie müssen die Option '/ testcontainer' verwenden, um die Option' /category' zu verwenden. Siehe die [MSTest-Seite] (https://msdn.microsoft.com/en-us/library/ms182489.aspx). – xmedeko

Verwandte Themen