@RunWith заставляет Maven игнорировать мой тестовый запуск с моим собственным бегуном - PullRequest
2 голосов
/ 27 апреля 2010

Я перешел от использования только Intellij для управления моей системой сборки к Intellij / Maven. Когда я запускаю свой интеграционный тест «MapSimulationTest» со своим собственным бегуном через @RunWith (KmlParameterizedRunner.class), Intellij правильно обрабатывает ситуацию, каталог, указанный в системном свойстве «user.dir», сканируется на наличие файлов .kml, и каждый тестируется.

Проблема, похоже, в том, что Surefire игнорирует @RunWith, какие-либо предложения?

Вот что показывает журнал maven ...

----------------------------------------------- -------- ИСПЫТАНИЯ -------------------------------------------------- ----- Бег com.tqicorp.guru.MapSimulationTest Выполнено тестов: 0, сбоев: 0, ошибок: 0, Пропущено: 0, прошедшее время: 0,061 с

Ответы [ 4 ]

2 голосов
/ 27 апреля 2010

Я использую surefire и @RunWith с Spring , и он отлично работает с maven 2.2.1.

Чтобы отследить проблему, вы можете попробовать создать простой тест Junit, используя аннотацию @Test, а не метод testXXX старого стиля. Запустите «mvn test» и посмотрите, выполняется ли ваш тест. Если это так, это исключит любую возможность старого джунита на вашем пути. Если он не выполняется, запустите «mvn site», найдите в отчете зависимостей junit и проверьте версию. Удивительно, как легко закрадываются нежелательные версии!

1 голос
/ 21 ноября 2011

Это может произойти, если у вас есть зависимость TestNG. Удалите зависимость, и Maven будет искать аннотации @ org.junit.Test в ваших классах, если присутствует зависимость TestNG, то Maven будет искать аннотацию @ org.testng.annotations.Test.

1 голос
/ 21 мая 2010

Попробуйте проверить, используете ли вы последнюю версию maven-surefire-plugin; В прошлом меня сжигали ошибки с my безошибочным использованием, пока я не исправил эти ошибки, которые были исправлены в более новой версии плагина, и мне просто пришлось обновить.

1 голос
/ 27 апреля 2010

Возможно, вы уже делаете это, но это может произойти, если ваша зависимость maven использует старую версию junit (3.x) вместо junit 4.x, где эти аннотации соблюдаются. Проверьте ваш pom.xml, чтобы увидеть, является ли правильная версия junit артефактом

...