Android 开发过程与其他软件开发过程类似,也是要写单元测试。在Android开发时,单元测试的做法与常规单元测试基本类似,只有两点不同:

1.需要配置AndroidManifest.xml文件

2.需要部署到Android模拟器

比如针对如下的方法进行单元测试:

package com.wicresoft.service;public class MathService {public int add(int a,int b){return a + b;}
}

我们添加一个继承自AndroidTestCase的类MathService中的add方法的测试。

package com.example.myandroid_001;import com.wicresoft.service.MathService;import junit.framework.Assert;
import android.test.AndroidTestCase;
import android.util.Log;public class MathServiceTest extends AndroidTestCase {private static final String TAG = "MathServiceTest";private MathService mathService = new MathService();public void testAdd() {int a = 3;int b = 5;int expected = 8;Log.i(TAG,"a + b = "+ expected);Assert.assertEquals(expected, mathService.add(a, b));}
}

这个动作会启动模拟器,同时运行单元测试。

其实,单元测试代码里面,我们使用了Android的LOG类来输出一些信息,我们使用LOGCAT可以看到.

这里提示一个小技巧,如何添加LOGCAT的filter,操作如下:

最后,我们在AndroidManifest.xml文件中需要做如下配置:

这样我们就可以通过单元测试来测试我们的业务逻辑,不需要每次都手动测试。

Android UnitTest相关推荐

  1. android的单元测试,Android 单元测试(Button 点击测试)

    android源码中引入了java单元测试的框架(android源码目录:libcore\junit\src\main\java\junit\framework中可见),然后在java单元测试框架的基 ...

  2. Monkey测试简介

    在android手机上做自动化测试,monkey比cts,Android UnitTest 好用多了,他其实是继承与adb shell中的一段的shell指令. 一monkey测试的相关的原理 mon ...

  3. appium python框架结构,GitHub - wyybingo/python-appium: 基于PageObject UI自动化测试框架,支持Android/iOS...

    0910 UPDATE 新增控件集参数化,相同测试步骤的Android/iOS可共用一份测试用例 不同测试步骤的用例还需要单独写 0904 UPDATE 优化Android log及crsahinfo ...

  4. python装饰器执行顺序_python unittest单元测试框架-3用例执行顺序、多级目录、装饰器、fixtures...

    1.用例执行顺序 unittest默认会按照ascii码的顺序,依次执行.类名--方法名排序,使用discover也是默认排序.如果不想使用默认排序,就使用testsuite测试集的方式. impor ...

  5. android 入门 006(sqlite增删改查)

    android 入门 006(sqlite增删改查) package cn.rfvip.feb_14_2_sqlite;import android.content.Context; import a ...

  6. python手机app 授权登录_Appium+unittest+python登录app

    代码: # coding=utf-8 from appium import webdriver import time import unittest import os import HTMLTes ...

  7. Appium+python的单元测试框架unittest(2)——fixtures(转)

    (原文:https://www.cnblogs.com/fancy0158/p/10046333.html) unittest提供的Fixtures用以在测试执行前和执行后进行必要的准备和清理工作,可 ...

  8. android gradle + junit + jacoco 集成jenkins,sonar系统

    首先gradle 文件配置如下: apply plugin: 'jacoco'android {compileSdkVersion 25buildToolsVersion "25.0.3&q ...

  9. python unit test_python 中unittest单元测试为什么addTest没用。

    #! /usr/bin/env python #! -*-cording:utf-8 -*- import unittest from appium import webdriver import t ...

最新文章

  1. 女儿社交媒体求生日卡 美96岁失明二战老兵收海量祝福
  2. 浅析I/O处理过程与存储性能的关系
  3. 你应该掌握的七种回归技术
  4. 漫谈MySQL索引与字段儿长度的关系
  5. python基本语法1.2--数的移位及与或抑或相关计算
  6. c语言 vscode代码自动补全_借助C/C++ Extension实现VSCode C++代码补全
  7. ios开发--企业帐号发布
  8. html加载富文本_富文本图片懒加载解决方案
  9. Hive metastore入门
  10. python获取灰度图边界
  11. 用mysql搭建蚂蚁笔记_利用蚂蚁笔记搭建个人云笔记/博客
  12. 克罗内克张量积 Kron 的 OpenCV C++实现
  13. 经典JavaScript正则表达式实战(转)
  14. uwsgi graceful reload
  15. WebGIS理论知识(七)—走进互联网地图
  16. 计算机组成与结构习题答案,计算机组成与结构习题及答案
  17. linux获得命令使用帮助
  18. mysql导入xl_28 MySQL的使用
  19. MATLAB输出格式控制 %d,%f,%c,%s的用法
  20. CODESYS自动化仿真软件如何与EtherNet IP工业RID读写器|读卡器CK-RF102AN-E01联机工作

热门文章

  1. 弗洛伊德,迪杰斯特拉算法
  2. 虚拟机win7 DNS 不可用
  3. SQL: 第二高的薪水
  4. python分解word文档为多个_如何将一个word文档按页分割成多个word文档-百度经验...
  5. 常见的HTTP状态码以及代表的意义
  6. Oracle的表空间和sqlplus
  7. 小丸子学Docker系列之——安装Docker及基本命令的使用
  8. 我的大学六年 郭天祥
  9. 我的mybatis-plus用法,被全公司同事开始悄悄模仿了
  10. 大数据十大“关键词”