Android Studio中使用junit4测试框架中的坑
来源:互联网 发布:seo网站分析案例 编辑:程序博客网 时间:2024/05/29 09:31
- build.gradle中添加依赖
- 1
- 2
- 3
- 4
- 添加以下,使用模拟环境代替真实环境
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- Android Studio中不需要在清单文件中配置 instrumentation 和 uses-library
- 测试代码主体部分(此方法也是趴Stack Overflow之中N久才得到的,感谢感谢)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
注意上面代码继承的是 ActivityTestCase ,获取上下文使用的是 getInstrumentation().getContext() ,使用这个方法完全可以获得测试结果。
- 这里介绍坑之所在(调试好久才得到结果,惭愧惭愧)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
上面代码是很多资料上写的方式,eclipse中完全可以使用上面所用得到测试结果,不过在Android Studio中会出现一个问题,那就是getContext()方法会返回null,即根本得不到上下文context,结果就是报出空指针异常bug。
源码分析
- 先介绍坑,即 AndroidTestCase 的 getContext()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
查看源码可以得到上述部分,得知mContext由setContext方法进行赋值,但是没有一个地方有调用setContext方法,所以getContext方法的返回值自然就是null了。
- 成功方法,即ActivityTestCase 的 getInstrumentation().getContext()
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
上述源码清晰的说明了context赋值的过程,所以这种方式可以获得context值
转载自:http://blog.csdn.net/yyg204731/article/details/51172111
阅读全文
0 0
- Android Studio中使用junit4测试框架中的坑
- 细数Android Studio中使用junit4测试框架中的坑
- Android Studio中使用 instrument junit4 环境配置问题
- android studio 上junit4的使用
- Android studio 测试框架
- junit4测试框架
- JUnit4测试框架
- Java JUnit4测试框架
- java测试框架-junit4
- JUnit4中使用Hamcrest测试框架的assertThat断言 小实例
- JUnit4中使用Hamcrest测试框架的assertThat断言 小实例
- Junit4中的测试注解
- 在Android Studio中使用JUNIT测试
- android studio 中使用monkey测试
- Android Studio中使用ButterKnife注解框架
- Android Studio中如何使用SlidingMenu框架
- Android Studio 中使用 PullToRefresh 框架
- 使用JUnit4测试Spring
- POJ-2586 Y2K Accounting Bug【模拟法】
- LeetCode----- 16.3Sum Closest
- HDU-5514-Frogs
- PHP页面静态化
- 点击按钮对数据进行操作(1)
- Android Studio中使用junit4测试框架中的坑
- python--用PIL Image画圣诞树Imagedraw画椭圆
- [CodeVersion--GIT]将远程仓库分支fetch到本地
- RecyclerView实现瀑布流、条目的增加、删除
- html的angular获取本地时间和3秒后换另一个名字
- PY 爬虫 Urllib2
- 监督学习之线性回归
- Date和String类型的相互转换(工具类DateTimeUntil的编写)
- 点击按钮对数据进行操作(2)