Как настроить IntelliJ для запуска теста с JUnit 4?

должно быть просто, но я не мог понять.

при запуске моего модульного теста внутри IntelliJ я не мог найти способ сказать IntelliJ-9.0, что он должен используйте JUnit4 вместо JUnit3.

при сбое теста консоль IntelliJ отображает:

MyTests.testConstraints (MyTests.groovy: 20) at

...

com.intellij.junit3.JUnit3IdeaTestRunner.doRun(JUnit3IdeaTestRunner.java: 108) на com.intellij.junit3.JUnit3IdeaTestRunner.startRunnerWithArgs (JUnit3IdeaTestRunner.java: 42) ...

знаете ли вы, как заменить JUnit3 на JUnit4 ?

7 ответов


вы можете аннотировать свой тестовый класс аннотацией, чтобы указать junit runner, который он будет использовать

@RunWith(JUnit4.class) MyTestClass {} 

Я нашел ее!

  1. перейти к конфигурации запуска/отладки
  2. добавить новую конфигурацию и выбрать JUnit
  3. на вкладке конфигурация добавьте "- junit4 " в поле ввода параметров тестового запуска

и это готово !


я попробовал поставить:

@RunWith(JUnit4.class) 

в начале теста. IntelliJ пожаловался на это, но попросил "загрузить" JUnit4.класс. Поэтому я удалил @RunWith(JUnit4.class). Но "загрузка", похоже, исправила проблему - @Ignore теперь уважают!


поместите банку JUnit 4 в свой путь к классам и посмотрите, поднимет ли ее IntelliJ.

подключаемый модуль JUnit, по-видимому, работает либо версии 3, либо 4.

держу пари, что это связано с тем, как вы пишете свои тесты JUnit. После одного подтверждения. Если вы используете стиль JUnit 4, я уверен, что IntelliJ будет работать правильно.


' com.intellij.junit3' пакет принадлежит двоичным файлам IDEA, а не junit3 или junit4. Таким образом, сам вопрос кажется неправильным по сути - нет никакой разницы в том, какое имя пакета используется кодовой базой IDEA внутри, если она правильно выполняет тесты.


похоже, что реальной проблемой может быть то, что вы пытаетесь использовать junit 4 с версией grails меньше 1.3. Файл Grails 1.2.x и ниже поддерживают только тесты Junit 3. Grails 1.3, наконец, получит поддержку junit 4. Это обсуждалось на stackoverflow текст ссылки


У меня была такая же проблема с java-приложением внутри 10.5, и оказалось, что мой уровень языка проекта установлен на 5.0, а не 8.0.

чтобы изменить это, перейдите в файл- > структура проекта->Проект - >уровень языка проекта

и измените это на требуемый уровень. Не уверен, на каком уровне вы можете использовать JUnit4, но установка этого на 5.0 заставит его использовать JUnit3. Установка его на 8.0 позволяет использовать JUnit4