【问题标题】:Mockito with dexmaker on Android - getting a Virtual machine error mocking an activity在 Android 上使用 dexmaker 进行 Mockito - 模拟活动时出现虚拟机错误
【发布时间】:2012-10-17 17:09:20
【问题描述】:

尝试使用 Mockito.spy 在 Android VM(模拟器 4.1)上进行检测后对活动进行部分模拟。这是我得到的错误

java.lang.VirtualMachineError
at dalvik.system.DexFile.defineClass(Native Method)
at dalvik.system.DexFile.loadClassBinaryName(DexFile.java:207)
at dalvik.system.DexFile.loadClass(DexFile.java:196)
at dalvik.system.DexClassLoader.findClass(DexClassLoader.java:226)
at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
at com.google.dexmaker.stock.ProxyBuilder.loadClass(ProxyBuilder.java:272)
at com.google.dexmaker.stock.ProxyBuilder.buildProxyClass(ProxyBuilder.java:254)
at com.google.dexmaker.mockito.DexmakerMockMaker.createMock(DexmakerMockMaker.java:54)
at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:26)
at org.mockito.internal.MockitoCore.mock(MockitoCore.java:49)
at org.mockito.Mockito.spy(Mockito.java:1324)
at com.company.droid.helper.ActivitySandbox.setupActivity(ActivitySandbox.java:21)
at com.company.droid.ui.fragment.signup.SignupFragmentTest.setUp(SignupFragmentTest.java:50)
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)

我尝试过更改虚拟机、Mockito 版本、Dexmaker 版本,但似乎没有任何效果。有什么想法吗?

【问题讨论】:

  • 您能否在日志中查看来自 Dalvik 的任何消息,尤其是在安装或应用启动时?你通常会得到一堆提示(可能是隐晦地)关于问题的更多细节。
  • 我最近从仪器测试切换到与 robolectric 库配对的 junit。关于间谍——我的观察通常是设计问题。
  • 看起来他们在今年 3 月发布的 DexMaker 1.1 中包含了修复程序。虽然 jars(dexmaker-1.1dexmaker-mockito-1.1)目前未托管在 Google Code 网站上,但该网站底部有链接可从 Maven 存储库下载它们。

标签: android mockito dalvik dexmaker


【解决方案1】:

似乎是 Dalvik 中的一个错误,DexMaker 没有避免。

如果您愿意,请查看此错误报告并投票。 https://code.google.com/p/dexmaker/issues/detail?id=9

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2023-03-31
    • 2016-08-08
    相关资源
    最近更新 更多