Как дебажить связку Maven+TestNG?

Всем привет. Для тестов использую TestNG + Maven. Запускаю в Intellij Idea. Ставлю брейкпоинт, запускаю тест - он проходит не обращая на него внимания. Есть ли возможность запустить тесты в режиме дебагинга?:) 

1) В pom.xml добавляешь зависимость для maven.surefire.plugin

        <dependency>           
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.14.1</version>
        </dependency>

2) В боковой панели "Maven Projects" (обычно находится справа) нажимаешь правой кнопкой мыши на степ, который ты хочешь дебажить и выбираешь Create (вторая строчка). В появившемся окне, в строке Command Line через пробел дописываешь -Dmaven.surefire.debug и сохраняешь. Должно получится что-то вроде "tests -Dmaven.surefire.debug" (ессно дело, что без ковычек) . Назовём эту конфигурацию, к примеру, test debug.

3) Run -> Edit Configuration -> Add New Configuration. Выбираешь Remote и сохраняешь (настройки по-умолчанию подходят). Эту конфигурацию назовём remote debug.

4) В панеле меню выбираешь конфигурацию test debug и запускаешь её в режиме дебага.

5) Ждёшь, пока в консоли появится строка "Listening for transport dt_socket at address: 5005", выбираешь remote debug и запускаешь её в режиме дебага.

...

6) PROFIT!

 

P.S. Если что-то не понятно, то могу добавить картинки.

1 лайк

Спасибо, все понятно и работает!)

Зачем из-под IDEA зпускать тесты на Maven?

Можно же запустить тесты просто как тесты, без всякого Maven!

Самое простое - поставь курсор в любое место тест-класса и нажми Ctrl+Shift+F10, и запустится этот тест.

3 лайка

не понятно, что за Step

Clean, test, install, package, compile и т.д.

1 лайк

1 лайк