2011-02-28 5 views
4

Я знаю, что можно запустить определенный тестовый класс с помощью -Dtest=MyTest. Но можно ли запустить конкретный тест в пределах этого класса?Maven Surefire: выполнить единичный тест

I.e. если MyTest определяет testFoo() и testBar(), есть ли способ указать, что должен выполняться только testfoo()?

Я знаю, что это легко сделать в среде IDE, но мне иногда нужно запускать тесты в командной строке на другом сервере.

ответ

1

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

http://maven.apache.org/plugins/maven-surefire-plugin/examples/testng.html

5

От Running a Single Test Using Maven Surefire Plugin

С версией 2.7.3, вы можете запустить только п тесты в одном классе Test.

ПРИМЕЧАНИЕ: оно поддерживается для junit 4.x и TestNG.

Вы должны использовать следующий синтаксис

mvn -Dtest=TestCircle#mytest test

Вы можете использовать шаблоны слишком

mvn -Dtest=TestCircle#test* test

0

Чтобы выполнить одно испытание на время, запустить тест МВН

mvn -Dtest=MyUnitlTest test 

Чтобы выполнить один тест в то время, и конкретный способ от него:

mvn -Dtest=MyUnitTest#method test 

где MyUnitTest это название теста и #method это имя вашего метода.

Выполнение тестов с безошибочным:

mvn surefire:test 
Смежные вопросы