IntelliJ IDEA с Junit 4.7 "!!! Ожидается версия JUnit 3.8 или более поздняя:" - PullRequest
198 голосов
/ 11 марта 2010

Когда я пытаюсь запустить следующий тест в IntelliJ IDEA , я получаю сообщение:

"!!! Ожидается JUnit версии 3.8 или более поздней версии:"

Следует отметить, что это проект Android , над которым я работаю в IntelliJ IDEA 9.

public class GameScoreUtilTest {
    @Test
    public void testCalculateResults() throws Exception {
        final Game game = new Game();

        final Player player1 = new Player();
        {
            final PlayedHole playedHole = new PlayedHole();
            playedHole.setScore(1);
            game.getHoleScoreMap().put(player1, playedHole);
        }
        {
            final PlayedHole playedHole = new PlayedHole();
            playedHole.setScore(3);
            game.getHoleScoreMap().put(player1, playedHole);
        }
        final GameResults gameResults = GameScoreUtil.calculateResults(game);

        assertEquals(4, gameResults.getScore());
    }
}

Полная трассировка стека выглядит следующим образом ...

!!! JUnit version 3.8 or later expected:

java.lang.RuntimeException: Stub!
    at junit.runner.BaseTestRunner.<init>(BaseTestRunner.java:5)
    at junit.textui.TestRunner.<init>(TestRunner.java:54)
    at junit.textui.TestRunner.<init>(TestRunner.java:48)
    at junit.textui.TestRunner.<init>(TestRunner.java:41)
    at com.intellij.rt.execution.junit.JUnitStarter.junitVersionChecks(JUnitStarter.java:152)
    at com.intellij.rt.execution.junit.JUnitStarter.canWorkWithJUnitVersion(JUnitStarter.java:136)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:49)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:110)

Process finished with exit code -3

Ответы [ 19 ]

1 голос
/ 25 ноября 2017

Вот как я это решил:

Изменить настройки -> Стандартные настройки -> Android JUnit -> Добавить следующее в рабочий каталог:

$ MODULE_DIR $

1 голос
/ 25 августа 2017

Я получаю ту же ошибку, когда создаю свой собственный пакет junit

enter image description here

Чтобы исправить это, я добавил эти две строки в мой файл приложения, как это объясняется

dependencies {
    ...
    // Required -- JUnit 4 framework
    testCompile 'junit:junit:4.12'
    // Optional -- Mockito framework
    testCompile 'org.mockito:mockito-core:1.10.19'
}
0 голосов
/ 28 января 2019

Я последовал ответу CrazyCoder, но в зависимости не было показано ни одного файла junitпоэтому я скачал один из http://www.java2s.com/Code/Jar/j/Downloadjunitjar.htm,, а затем добавил его, нажав кнопку плюса справа.И это сработало

0 голосов
/ 27 июня 2018

Я тоже столкнулся с той же проблемой, после перехода в build.gradle у меня все работает нормально.

измените версию Junit внутри build.gradle на:

    testImplementation 'junit:junit:3.8'
0 голосов
/ 23 января 2018

Перейти к структуре проекта -> Настройка платформы, изменить SDK на 1.8 решил мою проблему.

0 голосов
/ 29 июня 2017

Если вы удалите

testOptions {
    unitTests.returnDefaultValues = true
}

от вашего build.gradle будет работать

0 голосов
/ 13 февраля 2019

Отключение «Использовать встроенный JDK» в Project Structure / SDK Location - это то, что помогло в моем случае, но я точно не знаю, по какой причине он потерпел неудачу.

0 голосов
/ 25 июня 2019

Замените вашу android.jar в папке libs последней Вы можете скачать его с здесь

0 голосов
/ 02 июня 2017

В проекте Android у меня было minifyEnabled = true, после того как я изменил его на false все заработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...