2015-12-08 3 views
5

мне нужно запустить некоторые тесты интеграции и несколько модульных тестов, и я использую весной, Gradle и JUnit 4.Выполнить тесты JUnit с помощью @category пружины и Gradle

Я использовал JUnit категории @Category (UnitTestCategory.class) и @Category (IntegrationTestCategory.class) и я добавил

test { 
    useJUnit { 
    includeCategories 'org.gradle.junit.CategoryA' 
    excludeCategories 'org.gradle.junit.CategoryB' 
    } 
} 

для Gradle, чтобы включить/исключить категорию. Идея заключается в том, что я не хочу смешивать модульные тесты и интеграционный тест, и у меня есть категория для каждого из них.

Проблема в том, что я должен использовать пружину и категории, и @RunWith(...) может принимать только один class param. - RunWith(SpringJUnit4ClassRunner.class) или @RunWith(Categories.class).

Я не мог использовать @RunWith({Categories.class, SpringJUnit4ClassRunner.class}), и я должен работать с весной и категориями. Плюс, что в будущем мне, возможно, придется добавить и другие классы не только весны и категории. Поэтому мне нужно несколько параметров для @RunWith (...)

https://docs.gradle.org/current/userguide/java_plugin.html

Кто-нибудь есть решение, пожалуйста?

+1

Вам не нужно использовать '@RunWith (Categories.class)', если вы запускаете свои тесты с помощью Gradle. Бегун «Категории» необходим только в том случае, если вы хотите использовать специальный набор, который вы можете запустить в своей среде. –

+0

Да, но у меня есть два теста интеграции тестовых категорий и модульные тесты, и я не хочу их смешивать. Я хочу использовать только одну категорию, используя includeCategories/excludeCategory в градиенте. – MyUserQuestion

ответ

3

Вместо весны вы можете использовать spring junit rules. Затем в качестве бегуна вы можете использовать Categories

+0

сделал большое спасибо – MyUserQuestion

Смежные вопросы