Не удается выполнить тест с файлом из папки ресурсов - PullRequest
0 голосов
/ 29 мая 2018

Я пытаюсь выполнить модульное тестирование с файлом, расположенным в src / test / resources, но я не всегда могу получить нулевой указатель, когда пытаюсь его прочитать.

Я использую SpringЗагрузка 2.0.2, с JDK 10 и Gradle.

Я пробовал много вариантов кода, найденных при поиске проблемы, но у меня ничего не вышло.

Мой build.gradle выглядит так:

buildscript {
     ext {
        springBootVersion = '2.0.2.RELEASE'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'

group = 'com.moc.omc'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 10

repositories {
    mavenCentral()
    jcenter()
}
dependencies {
    compile("org.springframework.boot:spring-boot-starter-web")
    compile("org.springframework.boot:spring-boot-devtools")
    compile("org.springframework.boot:spring-boot-starter-data-jpa")
    compile("javax.xml.bind:jaxb-api:2.3.0")
    compile("com.h2database:h2")
    compile("io.springfox:springfox-swagger2:2.9.0")
    compile("io.springfox:springfox-swagger-ui:2.9.0")
    testCompile('org.springframework.boot:spring-boot-starter-test')
}

Мой тест - это вариант этих строк (ничего из того, что я пробовал, не имело успеха):

@Test
public void isSortedCorrectly() throws IOException {
    ClassLoader classLoader = getClass().getClassLoader();
    File file = new File(classLoader.getResource("test-file.json").getFile()); // java.lang.NullPointerException
}

Класс теста здесь:

src \ test \ java \ com \ moc \ omc ​​\ x \ y \ MyUnitTest.java

Тестовый файл находится здесь:

src \ test\ java \ resources \ test-file.json

Ответы [ 2 ]

0 голосов
/ 06 сентября 2018

В зависимости от вашей IDE, возможно, что ваш каталог ресурсов не находится в classpath.

В IntelliJ:

  1. Щелкните правой кнопкой мыши каталог test / resources (или test / java / resources)
  2. Выберите «Пометить каталог как ...»подменю
  3. Выберите «Тестировать корень ресурсов»
  4. Этот каталог появится с графическим изображением декоратора, символизирующим, что он находится в пути к классам

В Eclipse:

  1. Перейдите в «Выполнить-> Выполнить настройки ...» (в случае отладки «Выполнить-> Отладить конфигурации ...»)
  2. Конфигурация открытого запуска (отладки), которую вы используете
  3. Открыть вкладку «Classpath»
  4. Выбрать «Записи пользователя» и нажать «Дополнительно ...» справа
  5. В открывшемся окне выбрать «Добавить папку», указатьна ваш src / test / resources
  6. Эта папка появится в разделе «Записи пользователя», затем вы должны переместить ее вверх, чтобы сделать ее первой в вашем classpath
0 голосов
/ 29 мая 2018

Файл должен быть в

src\test\resources\test-file.json

Вместо

src\test\java\resources\test-file.json 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...