Является ли новый JUnit 4.8.1 @Category рендеринг тестовых наборов почти устаревшим?

Заданный вопрос 'Как запустить все тесты, принадлежащие определенной категории?' и ответ будет ли следующий подход лучше для организации тестирования?

  • определить мастер-набор тестов, содержащий все тесты (например, используя ClasspathSuite)
  • создать достаточный набор категорий JUnit (достаточный означает, что каждый желаемый набор тестов идентифицируется одной или несколькими категориями)
  • квалифицировать каждый тест с соответствующей категорией (-ами)
  • определить целевые тестовые пакеты на основе мастер-набора тестов и набора категорий

Пример:

  • определить категории для скорости (медленные, быстрые), зависимости (макет, база данных, интеграция и т.д.), функция (заполнение применимых категорий), домен (заполнение применимых категорий) и т.д.
  • требовать, чтобы каждый тест был правильно квалифицирован (помечен) соответствующим набором категорий.
  • создать мастер-набор тестов с помощью ClasspathSuite (все тесты найдены в пути к классам)
  • создавать целевые пакеты с помощью квалификационного мастер-набора тестов с категориями, например. макет тестового набора, быстрый набор тестов баз данных, медленная интеграция для набора тестов домена X и т.д.

Мой вопрос больше похож на попытку одобрения для такого подхода и классического подхода к набору тестов. Одно непревзойденное преимущество заключается в том, что каждый новый тест немедленно содержится в соответствующих наборах без обслуживания пакета. Одна озабоченность - это правильная категоризация каждого теста.

Ответ 1

Одним из компромиссов, которые вы должны учитывать, является ИМХО, что категории определены в тестах и ​​наборах, определяются за пределами. Это означает, что при использовании наборов вы знаете, какие тесты будут выполняться, но при использовании категорий вы не знаете, если не будете проверять тесты или просто запускать их. В то же время, когда вы просматриваете тест с помощью тестовых наборов, вы не знаете, в каком пакете он содержится, если вы не проверяете свои сюиты, а используете категории, вы видите это неизмеримо.