java – Android模拟相机
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Android模拟相机,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2474字,纯文字阅读大概需要4分钟。
内容图文
![java – Android模拟相机](/upload/InfoBanner/zyjiaocheng/744/67c6ee858d91447c8310ff6abf420f62.jpg)
是否可以模拟Android Camera类?
@Override
public void setUp() {
_camera = Mockito.mock(Camera.class);
}
无法生成模拟(Mockito的createProxyClass中的ExceptionInitializerError).
我应该在相机周围创建一些包装器(不是我最喜欢的解决方案,真的很想嘲笑这个类……)?
或者,我应该使用不同的模拟库然后Mockito?
希望有人能指出我正确的方向.
完成ExceptionInitializerError的堆栈跟踪
java.lang.ExceptionInInitializerError
at org.mockito.internal.creation.jmock.ClassImposterizer.createProxyClass(ClassImposterizer.java:85)
at org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:62)
at org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:56)
at org.mockito.internal.creation.CglibMockMaker.createMock(CglibMockMaker.java:23)
at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:26)
at org.mockito.internal.MockitoCore.mock(MockitoCore.java:51)
at org.mockito.Mockito.mock(Mockito.java:1243)
at org.mockito.Mockito.mock(Mockito.java:1120)
at com.cleancode.lifesaver.flashlight.test.FlashLightTests.setUp(FlashLightTests.java:20)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
Caused by: java.lang.VerifyError: org/mockito/cglib/core/ReflectUtils
at org.mockito.cglib.core.KeyFactory$Generator.generateClass(KeyFactory.java:167)
at org.mockito.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25)
at org.mockito.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:217)
at org.mockito.cglib.core.KeyFactory$Generator.create(KeyFactory.java:145)
at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:117)
at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:109)
at org.mockito.cglib.core.KeyFactory.create(KeyFactory.java:105)
at org.mockito.cglib.proxy.Enhancer.<clinit>(Enhancer.java:70)
... 18 more
解决方法:
在你的stacktrace中,注意子字符串“.CglibMockMaker”:这就是问题所在. CGLib不适用于android – 有一个Mockito专用于Android的插件,它使用dexmaker,就像CGLib一样但是适用于dalvik.只是搜索dexmaker mockito,你应该走在正确的道路上.
您仍然无法模拟Camera.open()(静态工厂方法),但您可以围绕它重构代码.重要的是Camera不是最后一堂课;其余的只是测试的笨拙管道,你应该接受作为编写经过良好测试的Android应用程序的税.
内容总结
以上是互联网集市为您收集整理的java – Android模拟相机全部内容,希望文章能够帮你解决java – Android模拟相机所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。