Запуск тестов в Maven через командную строку
Сборка производится командой mvn clean test
из директории с проектом.
mvn clean test --- прогонит ВСЕ тесты mvn clean test -Dtest=SearchCase --- прогонит все тесты из директории folks\src\test\resources\cases\search mvn clean test -Dtest.case=test_00_all_fields_debug_test --- прогонит только тест test_00_all_fields_debug_test mvn clean test -Dtest.case=test_s --- прогонит все тесты, начинающиеся на test_s → test_s_01_search_by_surname, test_s_02_search_by_date, test_s_99_skipped_test
ВАЖНО: чтобы ваш тест вообще запустился, он должен начинаться со слова «test_»
. Дальше может быть все, что хотите, цифры, буквы итд.
-Dtest
Флаг -Dtest —
запустить Java-тест. Если открыть этот тест (Navigate — Class — SearchCase в IDEA), то мы увидим, что этот Java-класс выполняет все тестики из директории с тестами search
protected String getTestCasesRootPath() { return TEST_CASES_ROOT_PATH + "search"; }
-Dtest.case
Этот флаг позволяет запустить конкретный тест. Не всю директорию, а только тот тест, который вы сейчас написали.
Тест-кейс в понимании системы — это тест в нашем понимании. Чтобы запустить один любой тест, надо указать его название через этот флаг:
mvn clean test -Dtest.case=test_s_05_search_nothing_found
Можно указать не название теста целиком, а только его начало:
mvn clean test -Dtest.case=test_s --- прогонит все тесты, начинающиеся на test_s → test_s_01_search_by_surname, test_s_02_search_by_date, test_s_99_skipped_test
Именно для этого в тестах обычно и ставятся эти префиксы:
- s — search
- se — extended search
- so — sort
- ...
Благодаря им мы можем запустить тесты пачкой. Например, все тесты на поиск. И для этого нам даже не надо знать название java-класса, описывающего тест на поиск (чтобы вызывать его через флаг -Dtest). Намного проще и быстрее будет запустить все тест-кейсы, начинающиеся на префикс