
单元测试是仅对最小的可测试软件单元进行检查和验证。
单元测试的必要性
1、作为开发者,必须对自己的代码负责,保持代码逻辑严谨,保证代码质量。一般来说,单元测试是开发人员的责任。
2、单元测试用例必须不断积累。你为什么这么说?很多开发者在关注这部分之前,会在程序中写一段测试代码,测试完删除,以后再测试的时候再写。这种重复的行为势必会浪费很多时间。
3、执行单元测试用例比在代码中编写测试代码要快。如果需要重新运行程序在代码中编写测试代码,这肯定会比较慢。
4、修改代码后,确保不影响之前的逻辑。这是运行之前的相关测试用例。如果所有的测试都通过了,说明修改没问题,否则修改有问题。而且这种兼容性测试速度很快,相当于自动化测试,可以大大节省时间。
Android Studio 中的单元测试
在Android Studio中,可以为每个模块在src下建立androidTest,test目录用于单元测试,如图:
Android Studio 测试目录
androidTest用于测试android API和android上下文环境相关的接口或功能android 单元测试有什么用,需要真机或模拟器运行。
test 用于测试java代码android 单元测试有什么用,只是本地测试,不需要真机或模拟器。需要在build gradle中添加依赖
testCompile ‘junit:junit:4.12’如何编写单元测试用例
一、AndroidTest
1、androidTest需要定义一个继承AndroidTestCase的类,如下:
定义测试类
2、重写setUp()方法,可以用来配置参数环境。
3、重写tearDown()方法。测试用例执行完毕后,可以在这里进行处理。
4、定义一个继承RequestTest的类来执行特定的测试。测试函数必须以test开头,如下:
具体测试方法
5、要执行测试用例,在方法名称上,右键单击–run testQuoteRequest(示例)。如下:
执行测试用例
然后就可以在菜单栏中选择testQuoteRequest,点击运行按钮运行。
6、结果如图:测试通过,可以在logcat中查看相关打印信息。
结果
7、需要注意的是,我这里是测试网络请求和打印数据。测试用例所在的线程会执行的非常快,但是网络请求的线程还没有结束。当测试用例所在的线程执行时,网络请求的线程会立即终止,不会返回任何数据,所以我在tearDown方法中休眠。10 秒。
二、测试
流程同上,只是不需要继承其他类,在每个测试方法中添加Test注解,如图:
本地测试用例
总结
这次只是简单的执行单个测试,批量测试也是可以的,后面会做相关的总结。
请登录后发表评论
注册
社交帐号登录