Java – I was studying robolectric, but something went wrong
•
Java
I'm learning robolectric
My project directory is,
My unit test code mainactivitytest is as follows,
package com.example.activity; import android.app.Activity; import com.example.BuildConfig; import org.junit.Test; import org.junit.runner.RunWith; import org.robolectric.Robolectric; import org.robolectric.RobolectricGradleTestRunner; import org.robolectric.annotation.Config; import static org.junit.Assert.assertTrue; @RunWith(RobolectricGradleTestRunner.class) @Config(constants = BuildConfig.class) public class MainActivityTest { @Test public void titleIsCorrect() throws Exception { Activity activity = Robolectric.setupActivity(MainActivity.class); assertTrue(activity.getTitle().toString().equals("Deckard")); } }
The configuration is,
When I run test code
It went wrong,
/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:51663,suspend=y,server=n -ea -javaagent:/Users/liren/Library/Caches/AndroidStudio1.2/groovyHotSwap/gragent.jar -Dfile.encoding=UTF-8 -classpath "/Applications/Android Studio 2.app/Contents/lib/idea_rt.jar:/Applications/Android Studio 2.app/Contents/plugins/junit/lib/junit-rt.jar:/Users/liren/Library/Android/sdk/platforms/android-19/data/res:/Users/liren/code/robolectric/RobolectricGo/android-api-19/build/intermediates/classes/test/debug:/Users/liren/code/robolectric/RobolectricGo/android-api-19/build/intermediates/classes/debug:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.apache.maven/maven-ant-tasks/2.1.3/b09be554228d66d208e5fef5266844aacf443abc/maven-ant-tasks-2.1.3.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.apache.ant/ant/1.8.0/7b456ca6b93900f96e58cc8371f03d90a9c1c8d1/ant-1.8.0.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.assertj/assertj-core/1.7.0/c0451c7fce61d14f9f0fa84bb2760e548221e471/assertj-core-1.7.0.jar:/Users/liren/.m2/repository/com/ibm/icu/icu4j/53.1/icu4j-53.1.jar:/Users/liren/.m2/repository/com/google/android/apps/common/testing/accessibility/framework/accessibility-test-framework/1.0/accessibility-test-framework-1.0.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.robolectric/robolectric-annotations/3.0-SNAPSHOT/4e48c5059ce3fae922863f3464fa05ce6a5e08d6/robolectric-annotations-3.0-SNAPSHOT.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.apache.ant/ant-launcher/1.8.0/8b53ba16fa62fb1034da8f1de200ddc407c8381/ant-launcher-1.8.0.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/5.0.1/7b7147a390a93a14d2edfdcf3f7b0e87a0939c3e/asm-commons-5.0.1.jar:/Users/liren/.m2/repository/com/almworks/sqlite4java/sqlite4java/0.282/sqlite4java-0.282.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/5.0.1/1b1e6e9d869acd704056d0a4223071a511c619e6/asm-tree-5.0.1.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.ow2.asm/asm/5.0.1/2fd56467a018aafe6ec6a73ccba520be4a7e1565/asm-5.0.1.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/5.0.1/e286fbee48efacb4e7c175f7948d9d8b2ab52352/asm-analysis-5.0.1.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.robolectric/robolectric/3.0-SNAPSHOT/fde4745244f1447557b2f55030cb4fc546b53fac/robolectric-3.0-SNAPSHOT.jar:/Users/liren/.m2/repository/com/ximpleware/vtd-xml/2.11/vtd-xml-2.11.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.ow2.asm/asm-util/5.0.1/7c8caddfbd0b2d7b844f8fcc75175b9cb9cf4724/asm-util-5.0.1.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.hamcrest/hamcrest-core/1.1/860340562250678d1a344907ac75754e259cdb14/hamcrest-core-1.1.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.bouncycastle/bcprov-jdk16/1.46/ce091790943599535cbb4de8ede84535b0c1260c/bcprov-jdk16-1.46.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.robolectric/robolectric-utils/3.0-SNAPSHOT/bf446c7a07ee47a454c8db9ad10c1a8ca2515fd9/robolectric-utils-3.0-SNAPSHOT.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/junit/junit/4.10/e4f1766ce7404a08f45d859fb9c226fc9e41a861/junit-4.10.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.robolectric/robolectric-resources/3.0-SNAPSHOT/ee905e9f06d0056f8d165a9a8ba24864825baa64/robolectric-resources-3.0-SNAPSHOT.jar:/Users/liren/kit/gradle-2.4/caches/modules-2/files-2.1/org.robolectric/shadows-core/3.0-SNAPSHOT/419067a26312d0bd71b00d81fa4bc501f7ccdabd/shadows-core-3.0-SNAPSHOT.jar:/Users/liren/code/robolectric/RobolectricGo/android-api-19/build/intermediates/mockable-android-19.jar" com.intellij.rt.execution.junit.JUnitStarter -ideVersion5 com.example.activity.MainActivityTest objc[13827]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined. Connected to the target VM,address: '127.0.0.1:51663',transport: 'socket' java.io.FileNotFoundException: build/intermediates/bundles/debug/AndroidManifest.xml (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at org.robolectric.res.FileFsFile.getInputStream(FileFsFile.java:78) at org.robolectric.manifest.AndroidManifest.parseandroidManifest(AndroidManifest.java:132) at org.robolectric.manifest.AndroidManifest.getTargetSdkVersion(AndroidManifest.java:485) at org.robolectric.RobolectricTestRunner.pickSdkVersion(RobolectricTestRunner.java:430) at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:184) at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:54) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:149) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.junit.runner.JUnitCore.run(JUnitCore.java:157) at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:78) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:212) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68) java.lang.UnsupportedOperationException: Robolectric does not support API level 1. at org.robolectric.internal.SdkConfig.<init>(SdkConfig.java:38) at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:184) at org.robolectric.RobolectricTestRunner.runChild(RobolectricTestRunner.java:54) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222) at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:149) at org.junit.runners.ParentRunner.run(ParentRunner.java:300) at org.junit.runner.JUnitCore.run(JUnitCore.java:157) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:68) Disconnected from the target VM,transport: 'socket' Process finished with exit code 255
It tells about my java The Java message is,
Why do you say that
The whole code is in my GitHub robolectricgo
Solution
Looks like you're a Mac user Have you tried your project on the command line?
There is a good page with a lot of information on how to start using robolectric: http://robolectric.org/getting-started/ , you will get the following tips
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码