Java – accessing files in JUnit tests in the gradle environment
Now I have a Java library with a test class In this class, I want to access some files located on my hard disk
build. The gradle looks like this:
apply plugin: 'java' dependencies { testCompile 'junit:junit:4.11' }
My files are in Java_ lib / src / test / assets / file. Under XML, the Java class is located in Java_ lib / src / test / java /< package_ name> . java
So I do
Final InputStream resourceasstream = this getClass(). getResourceAsStream(“assets / file.xml”);
Unfortunately, I got null. What did I do wrong?
Solution
To scroll things, you need to add the following to the gradle file:
task copyTestResources(type: Copy) { from "${projectDir}/src/test/resources" into "${buildDir}/classes/test" } processTestResources.dependsOn copyTestResources
It basically copies all the files in the Src / test / resource directory to build / classes / test because this getClass(). getClassLoader(). getResourceAsStream(“.”) Point to build / classes / test
Issue is known by Google. They want to fix it in Android studio 1.2 (because they need intellij14, it seems that it will be included in Android studio 1.2)