我尝试使用位于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
答案 0 :(得分:1)
文件需要在
src\test\resources\test-file.json
而不是
src\test\java\resources\test-file.json
答案 1 :(得分:0)
取决于您的IDE,您的资源目录可能不在类路径中。
在IntelliJ中:
在Eclipse中: