Android知识

Android 单元测试小总结

2017-04-11  本文已影响0人  大苞米

Android 单元测试

保证最小的独立单元(函数)的代码是否正确。

详细介绍:
https://github.com/leeowenowen/AndroidUnitTest

推荐文章:
http://chriszou.com/2016/06/07/android-unit-testing-everything-you-need-to-know.html

为什么做单元测试

测什么

单元测试,是为了测试某一个类的某一个方法能否正常工作,而写的测试代码。它不是测试一整个流程。而非public方法是这个类的实现细节,我们并不关心,我们只关心某一个public方法的输入、输出。

问题

如何测试

Mock

所谓的mock就是创建一个类的虚假的对象,在测试环境中,用来替换掉真实的对象,以达到两大目的:

Mockito

中文文档:https://github.com/hehonghui/mockito-doc-zh

PowerMock

PowerMock支持静态,final以及私有方法的mock
官网:https://github.com/powermock/powermock
推荐文章:https://my.oschina.net/jackieyeah/blog/157076

测试框架

JUnit

单元测试的本质依旧是验证函数的功能,测试框架也是JUnit

Robolectric(推荐)

JVM上无法调用安卓相关的类,所以需要使用Robolectric来模拟android的运行环境。

使用Robolectric后也可以测试android中的视图属性,点击事件,跳转等。

Android Testing Support Library

谷歌官方提供的测试工具
https://google.github.io/android-testing-support-library/

经验

test和androidTest

构建项目时会自动创建两个测试的package:androidTest和test,没有也可以自己创建,我个人简单的理解为:

创建测试类

测试Realm

https://github.com/realm/realm-java/tree/master/examples/unitTestExample

测试Rxjava

http://www.programcreek.com/java-api-examples/index.php?api=rx.observers.TestSubscriber

gradle执行UnitTest

Jenkins CI

如果想在build结束后生产Unit Test的报表:

上一篇 下一篇

猜你喜欢

热点阅读