Как настроить 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 {}
Я нашел ее!
- перейти к конфигурации запуска/отладки
- добавить новую конфигурацию и выбрать JUnit
- на вкладке конфигурация добавьте "- 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