Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Как с Intelij IDEA запустить один JUNIT тест клас с сюта @RunWith(Suite.class) так что б перед запуском сработал определенний Rule в Suite класе?

idea
junit
Теги: #<Tag:0x00007fedb85662a8> #<Tag:0x00007fedb8566168>

(Taras) #1

Есть такой проект:

К нему в бранче прикручен end-to-end test
Бренча с новим модулем: https://github.com/lvivJavaClub/spring-cloud/tree/integration-tests/integration-test

Там есть клас EntToEndIntegrationTestSuite
С анонтацией

@Suite.SuiteClasses({
    GetWayIntegrationTest.class,
    DslIntegrationTest.class
})

Также там есть поле с анотацией @ClassRule - для того что б поднималось окружение - с maven через maven-failsafe-plugin все работает на УРА. (mvn integration-test …)

Вопрос:

Как с Intellij IDEA запустить один клас GetWayIntegrationTest или DslIntegrationTest так что б перед запуском поднялось окружение (типа что б Rule сработал) с Suite класа ?


#2

@ClassRule будет выполняться перед каждым методом, если я не ошибаюсь. А что, дебаггер не заходит в rule если запустить один метод в идее?


(Taras) #3

@ClassRule один раз перед класом c тестами (в моем случае один раз перед сютом) а вот @Rule перед каждим методом


(Михаил Братухин) #4

Вынести @ClassRule в BaseIntegrationTest, сделав его синглтоном, чтобы в Suite не отрабатывал на каждый класс?


#5

Значит перепутал. В таком случае можно изменить ClassRule на Rule, я полагаю? Ну или если это просто проект на поиграться а не для продукции, то поместить содержимое ClassRule в Before в нужном классе