Почему vscode не распознает импорт org.junit? - PullRequest
1 голос
/ 29 мая 2020

Я использую maven для разработки проекта java в коде Visual Studio, и в настоящее время я пытаюсь написать тестовый класс. Я добавил junit в качестве зависимости к моему pom. xml file:

<dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
</dependency>

В настоящее время мой класс выглядит так: (с классом Board проблем нет, getOne () возвращает 1)

import org.junit.Test;

public class BoardTest {
    private Board board = new Board();

    @Test
    public void testOne() {
        assert(board.getOne() == 1);
    }
}

Первоначально, когда я открываю файл, все в порядке, но как только я сохраняю, vscode генерирует 2 сообщения об ошибках, оба из которых go исчезают, когда я закрываю и снова открываю файл, но появляются снова после сохранения:

  1. «Импорт org.junit не может быть разрешен»

  2. «Тест не может быть преобразован в тип»

Интересно, что даже при наличии этих ошибок vscode дает мне информацию о наведении указателя мыши как для импорта, так и для флага @Test, как если бы он действительно разрешил их правильно. Я запустил mvn install из командной строки, и vscode даже перечисляет junit-4.12.jar в разделе зависимостей проекта java.

Запуск mvn test дает ожидаемый результат (тест проходит) и после mvn package запуск файла проекта .jar из командной строки запускает проект без проблем. Всякий раз, когда я пытаюсь запустить проект из vscode, он выдает мне уведомление о том, что сборка не удалась, даже если сообщений об ошибках в данный момент нет (то есть после того, как я открыл тестовый класс, но до того, как я сохранил). Если я все равно скажу vscode продолжить, проект снова будет работать нормально. Попытка запустить тест из vscode работает таким же образом (я получаю сообщение об ошибке, но тест проходит как обычно после того, как я сообщаю vscode, что нужно продолжить).

Есть идеи, что могло вызвать это? Вот текущие версии всего, что я использую:

JDK: openjdk v11.0.7

vscode: v1.45.1

maven: Apache Maven v3.6.3

...