How to target API level greater than 8

瀏覽次數:45 次
跳到第一則未讀訊息

crazy_guy

未讀,
2012年5月15日 清晨7:48:282012/5/15
收件者:Android Mock Discussion
Hi,

I am having trouble executing test cases targeted for platform greater
than 8 like on Android 2.3.3.
The same tests are running absolutely fine with API level 8 on Android
2.2 emulator. I am getting below error while executing on 2.3.3
platform:

java.lang.RuntimeException: Could not find mock for
android.content.Context -- Make sure to run the MockGenerator.jar on
your test jar, and to build the Android test APK using the modified
jar created by MockGenerator
at
com.google.android.testing.mocking.AndroidMock.getInterfaceFor(AndroidMock.java:
2790)
at
com.google.android.testing.mocking.AndroidMock.createMock(AndroidMock.java:
187)
at
com.google.android.testing.mocking.AndroidMock.createMock(AndroidMock.java:
157)
at
com.yahoo.yadsdk.events.test.TestDispatchManager.testInitialize(TestDispatchManager.java:
34)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at
android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:
529)
at android.app.Instrumentation
$InstrumentationThread.run(Instrumentation.java:1448)
Caused by: java.lang.ClassNotFoundException:
genmocks.android.content.ContextDelegateInterface
at java.lang.Class.classForName(Native Method)
at java.lang.Class.forName(Class.java:234)
at java.lang.Class.forName(Class.java:181)
at
com.google.android.testing.mocking.AndroidMock.getInterfaceFor(AndroidMock.java:
2788)
... 15 more
Caused by: java.lang.NoClassDefFoundError:
genmocks.android.content.ContextDelegateInterface
... 19 more
Caused by: java.lang.ClassNotFoundException:
genmocks.android.content.ContextDelegateInterface in loader
dalvik.system.PathClassLoader[/system/framework/
android.test.runner.jar:/data/app/
com.yahoo.apg.AndroidDemoApp.test-2.apk:/data/app/
com.yahoo.apg.AndroidDemoApp-2.apk]
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
... 19 more


Here is what I can see in the AnnotationProcessing.log file:

May 15, 2012 5:09:15 PM - NOTE : Creating mocks of class:
android.content.Context for GINGERBREAD_NFC

May 15, 2012 5:09:15 PM - NOTE : Saving
v233.genmocks.android.content.ContextDelegateInterface
May 15, 2012 5:09:15 PM - NOTE : Saving via Eclipse
v233.genmocks.android.content.ContextDelegateInterface


I have set the target_apilevel to 10 in the "Annotation Processing"
option for the eclipse test project. Is there anything else I need to
do to get it working on platform-10? Kindly let me know.

Thanks,
Vaibhav

回覆所有人
回覆作者
轉寄
0 則新訊息