Robolectric错误解决

1、错误信息:
Caused by: java.lang.ClassNotFoundException: javax.microedition.khronos.opengles.GL :

解决办法
添加testCompile 'org.khronos:opengl-api:gl1.1-android-2.1_r1'
来自:https://github.com/robolectric/robolectric/issues/1932

2、错误信息(使用数据库为greenDao3.2.0):
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: Illegal connection pointer 141. Current pointers for thread Thread[pool-8-thread-1,5,main] []

解决办法:
tearDown()中将daoSession和XXXDao设为null
来自:
https://github.com/robolectric/robolectric/issues/2010
https://github.com/robolectric/robolectric/issues/1890
Android单元测试框架Robolectric3.0介绍(二)中数据库部分

@After
public void tearDown() throws Exception {
    TestUtils.resetSingleton(DbManager.class, "instance");
    TestUtils.resetSingleton(ContactDaoHelper.class, "contactDaoHelper");
}

public static void resetSingleton(Class clazz, String fieldName) {
    Field instance;
    try {
        instance = clazz.getDeclaredField(fieldName);
        instance.setAccessible(true);
        instance.set(null, null);
    } catch (Exception e) {
        throw new RuntimeException();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home...
    光剑书架上的书阅读 9,399评论 2 8
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,491评论 19 139
  • 今天从早上的意气风发开始,按照计划进行了我一天生活。 要说有什么收获,那就是学习了photoreading ,练习...
    张大侠丶阅读 1,352评论 1 2
  • 有一年我回到小城过春节,小城只有两家电影院,大年初一,影院的电梯口堵得水泄不通。我妈拉着我一直往里面挤,我不愿意挤...
    樱桃之夭阅读 1,176评论 2 0
  • 通过25幅画作,开启了一场解读幸福的奥秘之旅。 艺术能滋养心灵,通向疗愈。作者是一位心理学家和精神科医生,通过剖析...
    张小末阅读 3,780评论 3 6