android - Robolectric 2.1 and Eclipse -
robolectric seems interessting alternative android application testing, can't integrate eclipse enviroment.
using latest robolectric version 2.1 , android sdk 8, follow eclipse setup steps described on robolectric website no luck. when run newly created run configuration, test stopped following error.
i don't know why pakpak .r class cant found , ro.build.date.utc? symptom or problem?
warning: no system properties value ro.build.date.utc java.lang.runtimeexception: java.lang.classnotfoundexception: com.googlecode.pakpak.android.r @ org.robolectric.androidmanifest.getrclass(androidmanifest.java:102) @ org.robolectric.androidmanifest.getresourcepath(androidmanifest.java:275) @ org.robolectric.androidmanifest.getincludedresourcepaths(androidmanifest.java:280) @ org.robolectric.androidmanifest.getincludedresourcepaths(androidmanifest.java:282) @ org.robolectric.robolectrictestrunner.createappresourceloader(robolectrictestrunner.java:590) @ org.robolectric.robolectrictestrunner.getappresourceloader(robolectrictestrunner.java:582) @ org.robolectric.internal.paralleluniverse.setupapplicationstate(paralleluniverse.java:66) @ org.robolectric.robolectrictestrunner.setupapplicationstate(robolectrictestrunner.java:392) @ org.robolectric.robolectrictestrunner$2.evaluate(robolectrictestrunner.java:232) @ org.junit.runners.parentrunner.runleaf(parentrunner.java:263) @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:68) @ org.junit.runners.blockjunit4classrunner.runchild(blockjunit4classrunner.java:47) @ org.junit.runners.parentrunner$3.run(parentrunner.java:231) @ org.junit.runners.parentrunner$1.schedule(parentrunner.java:60) @ org.junit.runners.parentrunner.runchildren(parentrunner.java:229) @ org.junit.runners.parentrunner.access$000(parentrunner.java:50) @ org.junit.runners.parentrunner$2.evaluate(parentrunner.java:222) @ org.robolectric.robolectrictestrunner$1.evaluate(robolectrictestrunner.java:181) @ org.junit.runners.parentrunner.run(parentrunner.java:300) @ org.eclipse.jdt.internal.junit4.runner.junit4testreference.run(junit4testreference.java:50) @ org.eclipse.jdt.internal.junit.runner.testexecution.run(testexecution.java:38) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:467) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.runtests(remotetestrunner.java:683) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.run(remotetestrunner.java:390) @ org.eclipse.jdt.internal.junit.runner.remotetestrunner.main(remotetestrunner.java:197) caused by: java.lang.classnotfoundexception: com.googlecode.pakpak.android.r @ java.net.urlclassloader$1.run(urlclassloader.java:366) @ java.net.urlclassloader$1.run(urlclassloader.java:355) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:354) @ java.lang.classloader.loadclass(classloader.java:423) @ sun.misc.launcher$appclassloader.loadclass(launcher.java:308) @ java.lang.classloader.loadclass(classloader.java:356) @ java.lang.class.forname0(native method) @ java.lang.class.forname(class.java:188) @ org.robolectric.androidmanifest.getrclass(androidmanifest.java:100) ... 24 more
i kinda solved issue, can @ least run tests point makes sense me. in robolectric 2.0 allow specify path androidmanifest file creating config.properties file in test project.
try these 2 steps , see if work you:
- create nodescript file (file > new > file) called 'org.robolectric.config.properties' @ test's src directory.
in org.robolectric.config.properties file add line
manifest:[relative path androidmanifest.xml]
i had mess relative path bit (kept adding/removing ../'s), got correctly find androidmanifest file.
you can find more info @ this github issue or configuring robolectric blog post. both of found not straight forward enough.
Comments
Post a Comment