TeamCity 9.1 supports NUnit 3 i otwiera many other possibilities wybrać testy do wykonywania lub je odfiltrować. Polecam użyć --where=EXPRESSION
, który pozwala na użycie Test Selection Language. Teraz możesz używać nawet wyrażeń regularnych do określania testów, które chcesz uruchomić lub wykluczyć.
Przykłady
Czy chcesz wykluczyć tylko jeden test?
--where="method != 'TestName'"
Czy chcesz wykluczyć tylko jeden test? Nie pamiętam nazwy dokładnie, ale coś z „BuggyMethod” (~
oznacza, że wyrażenie regularne jest zaangażowany):
--where="method !~ 'BuggyMethod'"
uruchomić wszystkie testy zdefiniowane w jednej klasie:
--where="class == 'My.Namespace.ClassName'"
zapomnieć o pełną nazw ? To już nie problem - użyj wyrażeń regularnych:
--where="class =~ 'ClassName'"
Możesz także połączyć te wyrażenia, aby osiągnąć pożądany efekt. Uruchomić wszystkie testy dla tej klasy, lecz exlude wszystkie metody, które zawierają „BuggyMethod”:
--where="class =~ 'ClassName' and method !~ 'BuggyMethod'"
Takie podejście jest znacznie bardziej elastyczny i pozwala uniknąć jakichkolwiek modyfikacji kodu. Nie widzę już sensu używania kategorii, chyba że twoje testy są klasyfikowane za pomocą kategorii.
http://stackoverflow.com/questions/15618225/teamcity-re-running-a-specific-build- step – MethodMan