2016-04-22 36 views
5

W jednej z naszych definicji kompilacji próbuję skonfigurować krok kompilacji "Test programu Visual Studio", aby uruchomić określony zestaw testów.Uruchamianie/wykluczanie określonych testów w ramach definicji konfiguracji Team Foundation Server 2015

Istnieje okno "Kryterium filtra testowego" (poniżej), ale wydaje się, że nie ma to żadnego wpływu, niezależnie od przeprowadzenia wszystkich testów. To nie jest tak, jak w polu wyszukiwania w Eksploratorze testów w VS2015 i istnieją pewne odniesienia do "TestCaseFilter", ale to nie ma tu zastosowania (i może być tylko TFS2012).

TFS build definition Visual Studio Test configuration

Może to być wykorzystane do rzeczywiście filtrować testy lub powinienem robić to w jakiś inny sposób (na przykład dostarczyć pliki ustawień?)

FWIW używamy xUnit do testów jednostkowych.

+0

Jest teraz grudnia i to działa kompilacji z 'TestCategory = Konfiguracja testu BuildTime', gdy moje testy są oznaczone przez "[TestCategory (" BuildTime ")]'. – SayusiAndo

Odpowiedz

1

filtrze testowym Kryteria Filtry testy z poziomu plików montażu testowego. Ta opcja działa tak samo, jak opcja konsoli /TestCaseFilter of vstest.console.exe, można przetestować przy użyciu wiersza polecenia vstest.console.exe, aby sprawdzić, czy działa.

Jako alternatywa, można określić testy w Zestaw testowy. To pole określa zespoły testowe, z których należy wybrać testy.

  • są znaki specjalne mogą być stosowane
  • wielu ścieżek są oddzielane średnikiem
  • Ścieżki są w stosunku do źródła klasyfikacji
+0

Chociaż nie wyjaśnia to, dlaczego kryteria filtru testowego nie działają, przenoszenie testów w celu oddzielenia złożeń, a następnie używanie filtru "Testowanie zespołu" działa zgodnie z oczekiwaniami i jest akceptowalnym sposobem obejścia tego problemu. Alternatywą byłoby mieć osobną konfigurację kompilacji i używać instrukcji przedprocesorowych do włączania/wyłączania testów. – MJF

2

Pole Testuj kryteria filtrowania jest najlepszym sposobem filtrowania testów. Musisz dodać atrybut do testów, aby skategoryzować swoje testy. Oto post, który wyjaśnia tę funkcję:

https://dotnetcatch.com/2016/03/11/vststfs-visual-studio-test-task-filter-criteria/

+0

Nie mam "TestCategory" dostępne jak ten post robi w przykładzie kodu ... Zastanawiam się, czy to dotyczy tylko "mstest"? Używamy xUnit, który może mieć inną składnię do filtrowania ... Nadal staram się opanować te ramy testowe. – MJF

+0

Niestety, nie wspomniałeś, że używasz NUnit. W oparciu o ten artykuł, NUnit powinien być obsługiwany również przy użyciu atrybutu "Category". https://blogs.msdn.microsoft.com/visualstudioalm3/06/11/part-3-unit-testing-with-traits-and-code-coverage-in-visual-studio-2012-using- the-tfs-build-and-the-new-nuget-adapter-approach/ – chief7

+0

Nie wspomniałem nUnit ... ale wspomniałem, że używałem xUnit w oryginalnym pytaniu :) Zajrzę do tego artykułu ... – MJF

0

Jeśli celem jest wyłączenie testu testów od A run, które mogą być osiągnięte poprzez

TestCategory!={name}

W moim przypadku zazwyczaj korzystają z integracji lub Ręczny, aby wskazywać na próbę non-CI więc mój filtr jest

TestCategory!=Integration&TestCategory!=Manual