关于Robolectric对JNI的支持问题
来源:互联网 发布:地基承载力的简易算法 编辑:程序博客网 时间:2024/05/29 04:49
首先明确,目前最新版Robolectric3是不支持任何JNI lib和调用的,可以参见:
http://stackoverflow.com/questions/10425591/robolectric-tanks-on-application-objects-that-load-jni-libraries-can-i-get-a-wo
和官方github issue:
https://github.com/robolectric/robolectric/issues/1171
以上两者都明确说明了,目前作者还不知道怎么实现对Native libraries的支持。只能对未来保持憧憬和期待吧。。。
对于比较复杂的应用来说,不支持JNI这件小事会直接导致Robolectric单元测试变的很鸡肋吧!瞬间就残了!
不过stackoverflow上一位外国哥们给出了折衷(将就)的方案,也算是个办法:
大概意思是在测试方法的初始化阶段配置系统property为:
ROBOLECTRIC=TRUE
System.setProperty("
ROBOLECTRIC
","TRUE
")
然后在JNI库加载的时候
class MyClass { if(System.getenv("ROBOLECTRIC") == null) { System.loadLibrary("libname"); }}
当然,所有的jni native的方法都不能在UT中被调用了。哥只能帮你们到这里了。。。
看来,顺滑的TDD流程在Android开发中还是没能发展出完美的解决方案。
这主要是因为复杂多变Android的运行环境造成的吧,看我72变的arm指令集+邪恶变异体linux core+邪恶变异体jvm,实在是模仿不来啊。
0 0
- 关于Robolectric对JNI的支持问题
- Robolectric
- 关于JNI,javah找不到类的问题
- jni关于内部类的一些问题
- 关于JNI,javah找不到类的问题
- 关于VB中对Unicode的支持
- 关于浏览器对标准的支持
- 关于Ruby对正则表达式的支持
- 关于PHP对discuz的支持配置。
- 关于PHP对discuz的支持配置。
- 关于PHP对discuz的支持配置。
- 关于php对分站的支持
- 关于Sate210 对wince的支持声明
- 关于GCC对cpu类型的支持
- 关于MPlayer对RTSP支持的疑问
- 关于cocos2d对ETC1图片的支持
- 关于一些框架对JDBC的支持
- android jni 中文支持问题
- AngularJS 自定义指令
- 常见算法的实现
- IOS开发之Swift基础---输出命令行不换行!
- sklearn学习(模块列表)
- div模拟文本框
- 关于Robolectric对JNI的支持问题
- Unity02
- 分享一个通用的ListViewAdapter和Holder
- java中简单工厂模式
- Linux、MAC一些命令
- http
- Eclipse配置Git
- C#中List.Find 方法详解
- win32窗口样式