5

In Visual Studio Team Services (VSTS) kann ich beim Definieren eines Builds bestimmte Tests filtern, die beim Ausführen von Tests ein- oder ausgeschlossen werden sollen.Selektive Testklassen in VSTS ausführen

Frage: Wie filtere ich komplette Testklassen von der Ausführung? Das Beispiel im Screenshot zeigt, wie ich Tests basierend auf ihrer Kategorie filtern kann.

Probe Testklasse, die Ich mag würde auszuschließen:

[TestClass] // .NET 4.5 
public class SampleTests 
{ 
    [TestMethod, TestCategory("Integration")] 
    public void Test1() {} 

    [TestMethod, TestCategory("Integration")] 
    public void Test2() {} 

    ... 
} 

Aktuelle Konfiguration meiner Integrationstests auszuschließen:

test category filtering

Test: Die Filterkriterien ClassName!=SampleTests funktioniert nicht. Es scheint nur für Store-Apps reserviert zu sein. Ziemlich gute Dokumentation hier: MSDN Blog by Vikram Agrawal.

Grund zu fragen: Ich habe Test-Klassen initialisieren viele Daten zuerst, bevor Sie einen Test und führen Sie einen Aufräum-Job am Ende. Wenn alle meine Tests über den oben genannten Filter ausgeschlossen sind, findet die Klasseninitialisierung und -bereinigung immer noch statt, was viel Zeit und Ressourcen kostet. Ich möchte das optimieren.

+0

Dies ist eine große Frage. Wer entwickelt "Store-Apps" sowieso, und warum hat das etwas mit TFS-Tests zu tun? (Sehr seltsam. Wie auch immer, haben Sie jemals eine Lösung oder Workaround gefunden? Ich habe ein sehr ähnliches Problem. –

+0

Hi @DavidRogers, still Ich habe dieses Problem zu lösen. Peters Lösung brachte mich leider noch nicht weiter. Zurzeit toleriere ich nur die langen Testläufe. –

Antwort

0

Sie können dies tun mit:

FullyQualifiedName!=namespace.SampleTests 
+0

Danke @Peter! Der ~ Operator ist für Inklusionen, aber ich brauche eine Lösung für Ausschlüsse Verwenden Sie den ~ -Operator, um eine Klasse/einen Namespace auszuschließen? Oder schlagen Sie Folgendes vor: 'FullyQualifiedName! = SampleTests'? –

+1

Dann können Sie FullyQualifiedName wahrscheinlich verwenden! = namespace.SampleTests – Peter

+0

Mehrere Tests einschließlich eines vollständig qualifizierten Namespaces und Klassennamens laut Definition in die Assembly ohne Erfolg –