我正在尝试使用位于src / test / resources下的文件进行单元测试,但是当我尝试读取它时,我不能总是得到一个nullpointer。
我正在使用Spring Boot 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 \测试\ java中\ COM \ MOC \ OMC \ X \ Y \ MyUnitTest.java
测试文件在这里:
SRC \测试\ java的\资源\测试file.json
该文件需要在
src\test\resources\test-file.json
代替
src\test\java\resources\test-file.json
根据您的IDE,您的资源目录可能不在类路径中。
在IntelliJ中:
在Eclipse中: