TeamCity 9,1 supports NUnit 3 и открывает many other possibilities для выбора тестов для выполнения или фильтровать их. Я бы рекомендовал использовать --where=EXPRESSION
, что позволяет использовать Test Selection Language. Теперь вы можете использовать даже регулярные выражения для указания тестов, которые вы хотите запустить или исключить.
Примеры
Вы хотите исключить только один тест?
--where="method != 'TestName'"
Вы хотите исключить только один тест? Не помню название точно, но что-то с «BuggyMethod» (~
означает, что регулярное выражение участвует):
--where="method !~ 'BuggyMethod'"
Выполнить все тесты определенные в одном классе:
--where="class == 'My.Namespace.ClassName'"
Forget полное пространство имен ? Это больше не проблема - используйте регулярное выражение:
--where="class =~ 'ClassName'"
Вы также можете комбинировать эти выражения для достижения желаемого эффекта. Выполнить все тесты для класса, но Exlude все методы, которые содержат «BuggyMethod»:
--where="class =~ 'ClassName' and method !~ 'BuggyMethod'"
Такой подход является гораздо более гибким и позволяет избежать каких-либо модификаций кода. Я больше не вижу смысла использовать категории, если ваши тесты не классифицируются по категориям.
http://stackoverflow.com/questions/15618225/teamcity-re-running-a-specific-build-step – MethodMan