2015-11-23 12 views

Odpowiedz

10

Można to zrobić dodając kategorie testowe do testów.

[Category("LocalOnly")] 
[Test] 
public void MyLocalTest() 
{ 
    // Code omitted for brevity 
} 

Następnie można dodać tę kategorię do najważniejszych NUnit biegacza „kategorie NUnit wykluczać:” pole w kroku TeamCity kompilacji.

NUnit categories exclude: LocalOnly 

The TeamCity NUnit ignore category field

2

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.

Powiązane problemy