No tests were executed set dfailifnotests false to ignore this error



Плагин Surefire maven не выполняет ни один из тестов

У меня есть проект с четырьмя пакетами. С тремя из них все нормально. Я создал тесты JUnit, и они выполняются во время сборки или пока я запускаю команду mvn test.
Но мой четвертый пакет, содержащий всего один класс. Я создал для него тест JUnit, но когда я запускаю сборку, Surefire не видит этот тестовый класс. Все остальные восемь тестовых классов выполняются, но этот игнорируется.
Когда я пытаюсь выполнить только этот тестовый класс, явно используя

mvn -Dtest = com.company.dpt.prj.pkg.MySpecificClassTest test

Я получаю эти сообщения

Я просмотрел тестовый код построчно и не смог найти никаких причин для такого поведения.
Я даже удалил тестовый файл и восстановил очень простой. Он все еще не выполнен.
Кто-нибудь сталкивался с чем-то подобным? Мы будем благодарны за любую подсказку, так как я не смог найти никаких подсказок. Я использую JUnit 4.11

Все тесты изначально были созданы с использованием Netbeans v.12 «Инструменты-> Создать / обновить тест», а затем отредактированы для отражения функциональности методов. Однако все тесты, кроме этого, работают нормально как в графическом интерфейсе Netbeans, так и в интерфейсе командной строки «mvn test». Этот игнорируется. Цель метода, который я хочу протестировать, — создать HttpEntity для клиента REST API. Вот код теста:

Моя проблема в том, что он не дает сбоев в тестовом коде. Я буду рад, если это так, потому что я смогу отладить его чем. Это просто не выполняется. Я попытался обновить JUnit до версии 4.13.1 и плагин surefire maven до версии 3.0.0-M5, но это не повлияло.

Я попытался запустить mvn с параметром -e и получил следующую трассировку стека, но она по-прежнему не дала мне никаких подсказок, почему это происходит.

Читайте также:  Error loading page unknown error

3 ответа

Я нашел причину проблемы. Каким-то образом, когда IDE сгенерировала (и регенерировала) этот тестовый файл, она поместила неправильный импорт для аннотации @Test. Вместо

Следовательно, движок jupiter, запущенный с помощью surefire, не распознал аннотацию @Test. После того, как я исправил, был выполнен тест импорта.

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

Поскольку подключаемый модуль Surefire и Failsafe не поддерживает полное имя класса. Он выполняет поиск в файловой системе, поэтому я показал вам, как использовать косую черту в конфигурации. В документации указан этот параметр, прочтите его еще раз здесь:

ПРИМЕЧАНИЕ. Используйте синтаксис, например, «foo / MyTest.java», « /MyTest.java», «MyTest» для параметра «test» (см. включает / исключает). **

Гэри, твоя проблема в том, что ты говоришь о JUnit, но о каком? Есть две версии 4 и 5, и, более конкретно, вы можете опубликовать исходный код в нашей Apache JIRA (или в Stackoverflow), а затем я, как коммиттер, могу посмотреть ваш код. На самом деле это невозможно воспроизвести без него, потому что только чистый текст в stackoverflow не может сделать вашу проблему воспроизводимой на моей стороне. Поэтому, пожалуйста, всегда прикрепляйте ссылку в следующий раз, и мы посмотрим. Один парень сделал это на прошлой неделе, и это очень помогло.

Источник

Can’t selectively run an inherited test case #1563

Comments

TestNG Version

Expected behavior

and the test method testDistribution (which RandomWrapperRandomTest inherits from BaseRandomTest ) is run.

Actual behavior

Is the issue reproductible on runner?

  • Shell
  • Maven
  • Gradle
  • Ant
  • Eclipse
  • IntelliJ
  • NetBeans

Test case sample

The text was updated successfully, but these errors were encountered:

just in case it was looking for a regex that would match a full signature as in a Javadoc @link tag.

Читайте также:  Домофон показывает error что делать

To work around this for now, I’m running the test I need in a branch where I’ve deleted all other tests.

Could you try to run the test from your IDE? Do you reproduce the issue?

Could you try to run the test from your IDE? Do you reproduce the issue?

@juherr I am not sure if this can be executed from within an IDE, because one needs to right click on a method and then choose run as testng. But for doing that, one has to open up the class and I don’t think the IDE displays/lists inherited methods.

@Pr0methean — I attempted at recreating this using TestNG 6.12 but using a suite xml file that looks like below. I can’t reproduce the problem using the suite xml file approach.

@juherr — Do you think that this could be related to the surefire plugin ?

Here’s the output

@juherr I am not sure if this can be executed from within an IDE, because one needs to right click on a method and then choose run as testng. But for doing that, one has to open up the class and I don’t think the IDE displays/lists inherited methods.

I think this can be done by manually creating a launch configuration, and type the method name (the text box is editable)

@missedone — Thanks Nick. I didn’t know that..

Do you think that this could be related to the surefire plugin?

@krmahadevan Yes, it is what I suppose but we need to check our own runners first.

@juherr — This works fine in both eclipse and intellij. I think this is mostly a surefire plugin issue only.

Читайте также:  Java checked exception runtime error

I used the eclipse testng plugin version 6.12.0.201709050550

IntelliJ screenshot

Источник

Оцените статью
toolgir.ru
Adblock
detector