Android Studio 单元测试,(单元,单元,就是某一个部分的测试)

Android Studio中单元测试某个类中的一个方法 我们在使用Android Studio工具进行开发的时候,有时候会单独测试一个类中的一个方法,由于去运行整个项目会消耗的时间比较多,我们只想独立的测试这个方法,那么我们在AS中应该怎么做呢?     大致在网上搜了一下,基本上全都是采用类似断言之类的。在AS中我们新建的项目,里面默认会有单元测试的例子。 我们看这个ExampleUnitTest类中的代码: package wxt 阅读详情
0:单元测试的目的就是测试一个方法的所有的可能值(换句话说:验证输入的内容是否能够得到期望的输出的结果,也就是方法的功能的覆盖测试)
继承TestCase 就可以自动进行测试了



1:创建我们要测试的类:
package com.example.administrator.unittestdemo;


/**
 * Created by Administrator on 2016/7/25.
 */
public class UtilsClass {


    /*获取一个字符串的前两个字符,
    * 如果是为null 就回复空
    * 如果是长度为1,就返回“长度为1”
    * 如果是长度大于等于2,那么就返回前两个字符
    * */
    public String getFirstTwoString(String str){
        String ret;
        if(str==null){
            return "空";
        }else{
            if(str.length()==1){
                return "长度为1";
            }else{
                return str.substring(0,2);
            }
        }
    }


    public static int max(int a,int b){
        return a>b?a:b;
    }
}



2:创单元测试的类:


选择以Android 的形式来展示代码
然后找到(anroidTest)注释的文件夹,在这里创建测试类
测试的类里面的每一个测试的测试方法,都是以要测试的测试方法结尾,前面加上test,例如这里是testGetFirstTwoString()


如果测试的方法是静态的方法,可以直接使用类来调用,
    public void testMax(){
        //max方法是static修饰的静态的方法,可以直接通过类名来调用
        int max = UtilsClass.max(1, 2);
        assertEquals(max,2);
    }

如果测试的方法是类方法,非静态方法,需要创建被测试的类的对象来调用
    public void testGetFirstTwoString(){
        //getFirstTwoString是类方法不是static修饰的静态方法,所以要用对象来访问
        UtilsClass utilsClass = new UtilsClass();
        String result =utilsClass.getFirstTwoString(null);
        assertNotNull(result);//断言不为空


        result =utilsClass.getFirstTwoString("h");
        assertNotNull(result);//断言不为空
        assertEquals(result,"长度为1");//断言是否相等


        result =utilsClass.getFirstTwoString("hello");
        assertNotNull(result);//断言不为空
        assertEquals(result,"he");//断言是否相等


        result =utilsClass.getFirstTwoString("he");
        assertNotNull(result);//断言不为空
        assertEquals(result,"he");//断言是否相等




        result =utilsClass.getFirstTwoString("h");
        assertNotNull(result);//断言不为空
        //这里会失败
        assertEquals(result,"he");//断言是否相等
    }


通过assertNotNull和assertEquals()这里两个方法来判断返回的结果是否是我们想要的


完整代码:
package com.example.administrator.unittestdemo;


import junit.framework.TestCase;


/**
 * Created by Kodulf on 2016/7/25.
 * 继承TestCase 就可以自动进行测试了
 */
public class UtilsClassTest extends TestCase{
    /**
     * 单元测试固定的方法命名规则:
     * public void testXxxxXXX()形式
     * 其中XxxXxx就是要测试的方法的名称
     * 把这个名称首字母大写,一定要注意必须要以test开头
     */


    public void testMax(){
        //max方法是static修饰的静态的方法,可以直接通过类名来调用
        int max = UtilsClass.max(1, 2);
        assertEquals(max,2);
    }


    public void testGetFirstTwoString(){
        //getFirstTwoString是类方法不是static修饰的静态方法,所以要用对象来访问
        UtilsClass utilsClass = new UtilsClass();
        String result =utilsClass.getFirstTwoString(null);
        assertNotNull(result);//断言不为空


        result =utilsClass.getFirstTwoString("h");
        assertNotNull(result);//断言不为空
        assertEquals(result,"长度为1");//断言是否相等


        result =utilsClass.getFirstTwoString("hello");
        assertNotNull(result);//断言不为空
        assertEquals(result,"he");//断言是否相等


        result =utilsClass.getFirstTwoString("he");
        assertNotNull(result);//断言不为空
        assertEquals(result,"he");//断言是否相等




        result =utilsClass.getFirstTwoString("h");
        assertNotNull(result);//断言不为空
        //这里会失败
        assertEquals(result,"he");//断言是否相等
    }

}



3:运行
右击UtilClassTest
点击Create UtilClassTest
在界面中选择 All in Module,然后确定
然后在我们平时运行的列表里面旁边会多一个CryptUtilTest。
点击运行
这个是没有界面
点击下面的Message 旁边的Run 



4: 修改运行的参数来运行单元测试里面的某一个方法
点击运行按钮左边的“UtilsClassTest”
在弹出的下拉菜单中,选择,“Edit Configurations。。。”
然后再左边的列表点击Android Tests 下面的UtilsClassTest,现在右边的列表变成了UtilsClassTest运行的参数了
在Test这一栏里面,我们可以选择class,来指定类,通过Method 来指定我们需要测试运行的方法,例如这里我们可以选择testMax



Android Studio 单元测试(instrumentation) 之前写过一篇博文《Android下的Junit单元测试》,是基于Eclipse开发环境的,原文链接: http://blog.youkuaiyun.com/a78270528/article/details/46758751 最近在研究Android Studio,发现在AS下的单元测试要简单得多。 一、在创建项目时,AS已经为我们自动创建了一个AndroidTest的包: 阅读详情

相关推荐

Android Studio中进行单元测试

在Android开发过程中,我们往往忽略了单元测试功能, 主要还能还是大家觉得 真机在手,运行调试特别直观。 不过如果我们能够养成单元测试的习惯,相信能更加提升我们应用开发的速度。 当我们创建一个Android Studio项目时,我们会发现项目结构中,多了一个test目录  src/test/java  这个目录,就是AS为了方便我们进行单元测试,而帮我们创建的目录。当然,我们也可以自己

Near的博客 9792

不废话-Android stdio 如何单独运行调试一个页面

在mainfestxml里找到activity后加上 android:exported="true" <activity android:name=".textActivity" android:exported="true"/>

字符串距离问题动态规划 1416

Android Studio中的单元测试

在最新版Android Studio(2.1)中,已经可以方便的使用Mockito进行含有android api的单元测试了。因此可以更好的进行敏捷开发与持续集成测试。创建单元测试在Android Studio中新建工程,目录结构如下图显示: 其中 androidTest目录是Instrumentation Test的工程代码 main即App工程代码 test就是单元测试工程代码。编写

RickyXE 6102

Android Studio 进行单元测试完整教程

前言 为了这个AndroidStudio的单元测试,从下午搞到晚上才搞明白咋操作。 我学一个新知识总是那么坎坷,经历无数的错误路径,才可能找到正确的路在哪儿。 我的AndroidStudio我的AndroidStudio是1.5.1版本,但是进行单元测试应该很早的版本就可以了,至少可以追溯到1.0注意事项当你google查找AndroidStudio单元测试时,有大量的资料教程,

不会笑的专栏 4万+

Android Studio系列-Activity单元测试

代码解释:继承ActivityUnitTestCase类创建一个针对具体Activity的单元测试类,这里只是针对LoginActiivty,其他Activity的测试也是类似的。里面创建了两个测试方法,testLoginButton_labelTest测试登录按钮的文本是否跟期望的值一致,testLoginActivityMoveToIndex方法测试点击按钮之后的跳转。// 这一句是判断你在跳转后有没调finish()// 去判断是否为空,如果为空就说明跳转失败。// 测试Button的点击事件。

2401_87373950的博客 1164

Android Studio中使用junit做单元测试

Android Studio中使用junit做单元测试 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。比如一个函数,一个方法等。关于单元测试要不要做,由谁来做这些问题暂时抛到一边。本文只是单纯的介绍如何用Android Studio做单元测试。 1. 确保你的工程添加了junit依赖,目前一般都会自动添加该项。 dependencies {

山中小僧的进阶之路 7484

简单谈谈android studio 的单元测试

面对android studio Run 一次项目要等好几分钟的痛点,不得不研究一下android studio 的单元测试。 其实我的目的很简单,在不对视图进行操作的前提下,测试一些activity 的生命周期,或网络拉取数据的一些处理,比如解析 json 数据啊,做网络请求啊等等,也就是对 Model层的测试。这些不需要操作视图,但在没有单元测试环境下,比如我们网络请求一些数据,Lo

u012949047的博客 4966

Android studio 单元测试初探

Android工程的单元测试是一个细致负责的程序员必备的技能,学无止境,努力奋斗!

博来品 1165

android studio 单元测试详解

参考网址:https://blog.youkuaiyun.com/qq_23547831/article/details/51868451 本文我们将讲解如何在Android studio中进行单元测试。在Android开发项目中,经常会进行测试操作,而一次又一次的运行模拟器,浪费了大量时间,降低了工作效率降低,虽然最新的Android studio中提供了instance run功能,来提高Android...

你知道的昵称 8652

Android Studio中进行单元测试和UI测试

Android Studio中进行单元测试和UI测试1. 概述当前很多移动团队都是采用敏捷模式开发,在快速开发和版本迭代中,往往也忽略了单元测试和Espresso测试,其实我自己在之前的N多项目当中都没有写过这样的测试。这篇文章就作为对Android应用开发当中单元测试和UI测试的一个入门了解,可以了解如下几点: JUnit和Android Testing Support Library的Gradl

Wman 1448

浅谈Android Studio单元测试步骤

浅谈Android Studio单元测试步骤单元测试的必要性:大家都知道android测试的时候如果老是在虚拟机里调试,这样不仅浪费了计算机的资源,而且降低了开发效率,所以单元测试的作用就显示出来了。Android Studio本身支持单元测试,所以在配置的时候十分简单,用起来也很方便。步骤一:创建android工程并创建测试单元我是把我的单元测试放在Android Studio自动生成的Test文

machenshuang的博客 1753

Android单元测试

概述 新建一个module的时候,Android Studio 自动帮我们生成了 test 和 androidTest 两个 sourceSet。这两个 sourceSet 对应了不同的单元测试类型,同时两个 sourceSet 声明依赖的命令也有区别,前者是 testImplementation 后者是 androidTestImplementation。 app/src ├── androidTestjava (仪器化单元测试、UI测试) ├── main/java (业务代码)

sl851938874的博客 1万+

Android Studio中JUnit单元测试完整Demo实战

在移动应用开发日益复杂的今天,确保代码质量已成为不可忽视的核心环节。JUnit作为Java平台上最主流的单元测试框架,为开发者提供了一套简洁、高效的测试机制。本章将深入介绍JUnit的基本架构、核心注解(如@Test@Before@After)及其在Android开发中的重要性,帮助开发者理解如何通过自动化测试提升代码可靠性。

weixin_42575109的博客 1265

使用Android Studio做单元测试笔记

在实际项目开发过程中,很少有开发人员主动写单元测试脚本和进行不包含UI界面的测试。本文参照谷歌官方文档推荐的单元测试方法编写简单的单元测试脚本,实现不依赖UI界面的基于函数的单元测试。

lvshaorong的博客 2972

泛微OA表单设计实战:如何快速实现自定义多选浏览框(附完整配置步骤)

本文详细介绍了在泛微OA中快速实现自定义多选浏览框的完整配置步骤。针对招聘提报、活动审批等需要从海量数据中规范选择多个条目的业务场景,文章从理解需求、构建数据源、设计查询页面到创建浏览框控件,提供了清晰的实战指南,帮助开发者高效解决复杂数据选择难题,提升表单操作体验。

yog99的博客 1048

MT5交易软件系统源码

Manager配置的功能及权限:管理客户、开户,销户、入金、信用额度、修改定单、人工交易报表、设定点差、强制平仓、修改密码,设定持仓交割单或挂单小止盈止损点数;26、修改价格 27、更改K线图历史价格 28、同步历史数据;2、系统设置 3、交易管理 4、交易柜台 5、价格更改 6、多台服。务器联机 7、恢复交易历史 8、数据源调整 9、备份服务调整 10、交易市场设定 11、交易单更改 12、平台时间设定(全世界) 13、可添加商品;15、设置商品利息;独立主机(服务器、VPS、VM)

tutujunjun的博客 904

【android】AS中使用Junit单元测试和Android JUnit 单元测试

AS中使用Junit单元测试和Android JUnit 单元测试 在AndroidStudio中使用单元测试 1. 前言 在Android开发中,如果对一个简单的功能,每次修改代码都重新运行到设备中进行测试,会浪费大量时间,降低开发工作效率。如果使用单元测试,编写单元测试类,执行测试单元测试类就可以对某些功能进行测试,大大提升了开发工作效率。 2. 添加单元测试支持 在AndroidStudio项目中,如果是新版本的AndroidStudio中新建的,会自动添加了单元测试的支持,如果旧项目,没有添加单元测

qq_36234964的博客 3546

静态时序分析Static Timing Analysis1——STA概述、标准工艺库、时钟、IO约束的建立

简要介绍STA和标准工艺库内容,对时钟,IO等进行约束的指令介绍,PVT

qq_42135020的博客 7537

安卓开发工程师-单元测试与自动化测试

JUnit 是一个用于 Java 的单元测试框架,广泛用于 Android 项目中进行单元测试。Mock 对象用于模拟复杂的依赖关系,使测试更加独立。常用的库有 Mockito。Espresso 是一个用于 Android UI 测试的框架,可以模拟用户操作。编写测试用例时,需要考虑各种输入和边界情况,确保覆盖所有功能场景。UI Automator 可以用于跨应用的自动化测试。

qq_62784677的博客 1200

不用写代码!3个免费在线工具教你完成Lasso回归分析(含生存资料处理)

本文介绍3款免费在线工具,帮助用户无需编程即可完成临床数据的Lasso回归分析,特别适合处理生存资料。通过详细的操作指南和实战技巧,读者可以轻松掌握变量筛选、模型优化及结果解读,提升临床研究的效率和准确性。

weixin_33738555的博客 349

YOLO26改进策略【YOLO和Mamba】| CVPR 2025:EfficientViM 压缩隐藏状态空间进行通道混合、单头设计减少内存操作,提升目标检测效率与精度

本文记录的是利用模块优化的目标检测网络模型。EfficientViM Block(基于隐藏状态混合器的状态空间对偶性模块) 的设计旨在,提升特征提取效率,同时兼顾全局依赖捕捉与局部细节保留。本文将深入研究的原理,并将其应用到中,通过重构特征提取流程、减少内存绑定操作、融合多阶段特征,增强模型在资源受限环境下的检测性能与速度。EfficientViM: Efficient Vision Mamba with Hidden State Mixer based State Space DualityEfficie

Limiiiing的博客 399
上一篇: Object-C 学习进程
下一篇: OC简介,OC特性,面向对象简介,创建一个类
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值