Как заставить все тесты иметь одну категорию в NUnit? - PullRequest
1 голос
/ 24 августа 2010

Я использую NUnit 2.5.3, но если более поздняя версия NUnit решит мою проблему, обновление не будет проблемой.

У нас есть несколько разных категорий для тестов. Разные категории тестов будут выполняться при разных вариантах сборки (быстродействующие модульные тесты для проверок, все модульные тесты и другие тесты с внешними зависимостями (база данных и т. Д.) Для overnighter и т. Д.). Разделение истинных модульных тестов и тестов с внешними зависимостями на разные сборки является более долгосрочной целью, но я все же захочу применить категории в тестах.

Я хочу убедиться, что у всех методов тестирования есть один атрибут CategoryAttribute, определенный с допустимым именем категории. Допустимое имя категории будет одним из списка, который я могу определить. Однако простое применение категории в каждом методе тестирования будет шагом в правильном направлении.

Поддерживает ли NUnit такого рода поведение из коробки? Есть ли другой атрибут NUnit, который я могу использовать, кроме CategoryAttribute, который поддерживает такого рода принудительное применение? Или реализует пользовательский этап сборки, который проверяет сборки с помощью отражения пути?

1 Ответ

1 голос
/ 24 августа 2010

Не думаю, что есть способ гарантировать, что все тесты помечены атрибутом Category - поэтому я всегда делю тесты разных типов на разные сборки (не должно быть слишком сложно разделить устаревшую сборку особенно если вы используете такие инструменты, как Resharper). Таким образом, вам придется написать свой собственный инструмент, как вы сказали, который будет загружать сборку и выполнять проверку.

Кроме того, эти идеи могут помочь:

  1. Вы можете разместить атрибут Category на уровне TestFixture, так будет легче вспомнить об этом и выполнить проверку

  2. Вы можете создавать пользовательские атрибуты, полученные из атрибута Category. Таким образом, легче обеспечить отсутствие орфографических ошибок в именах категорий

См .: http://www.nunit.org/index.php?p=category&r=2.4.8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...