android 如何进行单元测试

安卓单元测试全攻略 安卓单元测试,只看这一篇就足够啦。真正的完全解析,真正的从0到1,Junit结合Mockito与Robolectric实现从M层到V层,Jacoco扫描函数、逻辑、代码行数单元测试覆盖率100%的全面测试。你是否还在为了验证联网与未联网状态而频繁的开关WiFi开关?或者你是否还在为一个switch判断而频繁的使用debug断点setValue来观测代码的逻辑判断情况?又或者你是否还在为了校验某个UI 阅读详情

eclipes中的单元测试

方法一  

 1.定义一个类继承AndroidTestCase

(1)创建一个Android项目,在项目里添加一个java文件

package com.example.test;

public class Calc {
	/**
	 * 定义两个数相加相的方法
	 */
	public int add(int x,int y){
		return x+y;
	}

}
(2)再添加一个java文件继承AndroidTestCase

package com.example.test;

import android.test.AndroidTestCase;

public class Test extends AndroidTestCase {
	//写一个测试加法的方法
	public void testAdd(){
		//创建一个Calc对象
		Calc calc=new Calc();
		//接收add返回的结果
		int result=calc.add(6,4);
		//调用assertEqual方法进行断言
       assertEquals(10, result);//前面一个参数为期望值,后面一个参数为真实值
	}

}


    2.在 AndroidMenifest.xml文件配置user-library和instrumentaion

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="15"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <!-- 配置函数库 -->
        <uses-library android:name="android.test.runner"/>
        <activity
            android:name="com.example.test.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <!-- 配置instrumentation targetPackage写当前所在的包名 -->
    <instrumentation android:name="android.test.InstrumentationTestRunner"
        android:targetPackage="com.example.test"/>

</manifest>

进行测试:
<img src="https://img-blog.youkuaiyun.com/20160319131815971?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />



  方法二

直接创建一个测试工程,在测试工程中会直接配置好清单文件


在File->new->other->android->android->android Test Project下创建即可。

android studio中的单元测试

android studio在生成项目的时候已经生成好了一个专门放单元测试类的包,一般会标识androidTes,在该包下创建一个单元测试类继承AndroidTestCase


public class TestAdd  extends AndroidTestCase{
    public void  testAdd(){//注意测试方法一定要以test开头
        int x=3;
        int y=5;
        assertEquals(x+y,5);
    }
}
然后在testAdd上右键选择create 'testAdd()',之后就可以直接运行了,在android studio中不必配置Manifest.xml

运行后可以看到测试失败,并有这样一条log:

junit.framework.AssertionFailedError: expected:<8> but was:<5>

将assertEquals(x+y,5)改成assertEquals(x+y,8)重新测试就能成功了。


  

About Unit Test In Android(安卓单元测试研究,附技术分享ppt) what is unit test? 单元测试中的单元是一个系统或一个程序的组成部分,单元测试就是要对这些组成部分进行独立地、隔离地以某种约束和规则进行的测试,以发现每一部分的问题或者确定该部分不存在问题。 Essentially, a unit test is a method that instantiates a small portion of our application and 阅读详情

相关推荐

人大金仓V8R3企业版License更新全攻略:从查看到重启一步到位

本文详细解析了人大金仓V8R3企业版License更新的完整运维流程,涵盖从诊断当前授权状态、获取与验证新文件、精准定位旧文件路径,到安全替换文件及服务重启验证的全过程。重点针对更新流程中常见的版本匹配、文件定位、权限与服务重启等关键环节提供了实战解决方案和避坑指南,帮助运维人员高效、平稳地完成授权续期。

redis7keeper的博客 899

android写测试test,通过AndroidTestCase来进行android 单元测试 part I

在以前的博客中介绍过了如何用intrumentation进行android单元测试,其实还有一种方法同样可以,那就是利用AndroidTestCase来做单元测试,intrumentationTestCase和AndroidTestCase都是Junit.framwork.TestCase的子类,二者代表不用的方向。如果想通过AndroidTestCase,大致可以通过以下几个步骤实现:1.添加自...

weixin_35456031的博客 696

告别瞎猜!用通达信/同花顺这些资金流向函数,一眼看穿主力动向(附实战公式)

本文详细解析了通达信/同花顺资金流向函数的实战应用,帮助投资者精准识别主力动向。通过12个核心资金函数的组合逻辑,构建主力行为监控体系,避免未来函数陷阱,识别主力对倒行为,并提前捕捉异动。适合股票投资者提升自选股分析能力。

weixin_42522964的博客 1216

AndroidTestCase测试用法

1. Java代码TestCase.java 继承AndroidTestCase类 package com.test.casei;   import android.test.AndroidTestCase; import android.util.Log;   public class TestCase extendsAndroidTestCase {

codepython的专栏 1877

【思考模型框架】采用双钻模型:发散(桌面研究/用户访谈)→收敛(需求归类/优先级排序),输出需求规格书、追踪矩阵及产品待办清单。

设计思维双钻模型是一种以用户为中心的需求管理方法,通过"发散-收敛"的双循环确保问题定位准确、方案切实可行。第一钻石(探索→定义)聚焦"找对问题",运用用户访谈、田野调查等方法挖掘真实需求;第二钻石(开发→交付)解决"做对方案",通过原型测试、A/B测试验证可行性。该模型强调低保真验证、多团队协作和真实用户测试,避免资源浪费与伪需求开发。典型应用场景包括产品功能优化、用户体验提升等需要精准落地的需求场景。核心价值在于建立从用户痛点到解决方案的可控闭

奶爸的编程之路,也就一周冷个三天 319

SillyTavern本地AI聊天平台部署与调优全指南

大型语言模型(LLM)作为当前人工智能领域的核心技术,通过其强大的自然语言理解和生成能力,正在深刻改变人机交互方式。其工作原理基于Transformer架构,通过海量数据训练,学习语言的统计规律与语义关联。这项技术的核心价值在于,它能够作为通用基础,赋能于多样化的下游应用,实现个性化的智能对话与内容创作。在工程实践中,如何高效、灵活且低成本地部署和利用这些模型,成为开发者与爱好者的关键需求。本地化部署方案,特别是结合如Ollama、KoboldCPP等推理引擎,提供了数据隐私保障与可控的硬件成本。Silly

weixin_42520448的博客 432

安卓-单元测试学习

一、单元测试的引入: 如果只是普通的一个小程序,编写测试是有些多此一举,但是当项目比较庞大的时候,一般都应该去编写单元测试。JUnit测试是白盒测试,即主要是程序员自己对开发的方法进行功能性测试。JUnit是一套框架,Android中也沿用了这一套框架。 在Android中使用JUnit测试大致分为如下几个步骤: (1)在AndroidManifest.xml中增加对JUnit的支持,并制定...

染血白衣 432

2025实战|C#上位机+STM32实现LED串灯控制:串口通信+PWM调光+自定义帧协议(附上下位机源码)

粘包:一次收到“BRIGHT:50LED_OFF”,解析完全错乱;乱码:串口波特率/编码不匹配,指令变成“??H??50”;丢帧:数据传输中少字符,比如“BRIGHT:5”,解析出亮度5而非50。因此我们设计字节级自定义帧协议协议先行:无论简单还是复杂场景,先定义清晰的帧协议,避免数据错乱;串口稳字当头:下位机用环形缓冲区接收,上位机加锁发送,避免丢包/粘包;跨线程必处理:C#上位机所有UI更新必须用Invoke,否则必崩溃;硬件是基础:接线、供电、共地这些细节,比代码更易出问题;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 756

Android测试-AndroidTestCase(-)

android测试某一个方法,被测试的方法不涉及Android组件(Context等)第一步,继承AndroidTestCaseimport android.test.AndroidTestCase;public class MyTest extends AndroidTestCase { public void test1() { System.out.println("测

u013279643的专栏 716

【AI Agent 记忆共享实战】【下篇】多 Agent 会话 Session 统一共享实战:全链路工程落地、采集归一、MCP 服务、私有化部署、源码级实战

中篇我们已经锁定最终最优架构方案: 非侵入式、外部旁路采集、只读归一、中心化存储、MCP 按需检索注入。摒弃「改 Agent 源码」「软链接互通」「原生 Session 互导」等不现实方案。本篇直接落地可上线、可简历复用、可个人私有化部署多 Agent 异构 Session专属采集器(Claude/CODex/DSH/OpenCode/Kimi/WorkBuddy/ 豆包)统一消息归一化解析层(解决所有 Schema 异构)增量同步、去重、时间戳对齐核心逻辑。

十年老程序猿,AI 疯狂研究专家,前沿硬核知识分享 483

LeetCode 面试经典 150 题回顾

最经典 150 题,掌握面试所有知识点 面试经典 150 题 : 题目分析、解题思路、复杂度分析、代码展示

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 8万+

android单元测试

要了解android单元测试,首先必须了解junit 什么是 JUnit ? JUnit是采用测试驱动开发的方式,也就是说在开发前先写好测试代码,主要用来说明被测试的代码会被如何使用,错误处理等;然后开始写代码,并在测试代码中逐步测试这些代码,直到最后在测试代码中完全通过。 现简要说JUnit的4大功能 管理测试用例。修改了哪些代码,这些代码的修改会对哪些部分有影响,通过JUnit

Java学习的专栏 2886

Oracle EBS AP发票被预付款核算创建会计科目时间超长

在客户职能部门的水电、通信和物业等费用统一管理或对接部门报销时,用户将所有费用分摊到各个末级部门,导致AP发票行数高达上千行。这引发了以下问题:1)用户过账时,创建会计科目的请求执行超过20小时未完成,只能手动取消;2)取消请求后,系统一直处于回滚状态;3)通过SQL脚本分析,发现预付发票核销分配行表记录数量庞大,单笔AP发票记录高达90多万条,类似发票共有5笔。

陈显平的专栏-Oracle EBS 352

android gradle 单元测试,安卓:与gradle这个单元测试(Android: unit testing with gradle

我有我可以运行在Android Studio中就好了下面的单元测试,但我试图把它建立持续集成,所以我需要gradle这个才能够运行。package com.smartsocialmedia.tests;import android.test.InstrumentationTestCase;import com.smartsocialmedia.utility.DbConnector;import ...

weixin_34064233的博客 315

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

[Android]【安卓】在AndroidStudio中使用单元测试

[Android]【安卓】在AndroidStudio中使用单元测试 本篇博客已收录到我的安卓开发小结中——点击【安卓开发小结】 参考文章:在AndroidStudio中使用单元测试 1、 添加单元测试支持 在AndroidStudio项目中,如果是新版本的AndroidStudio中新建的,会自动添加了单元测试的支持,如果旧项目,没有添加单元测试支持,需要手动进行配置。 1.1 添加单元测试...

Hy的博客 1288

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Gradle Android Test 插件 - 经典的安卓单元测试利器

Gradle Android Test 插件 - 经典的安卓单元测试利器 gradle-android-test-plugin [DEPRECATED] A Gradle plugin which enables good 'ol fashioned unit tests for Android builds. ...

gitblog_00031的博客 1106

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

安卓中的单元测试

单元测试在安卓开发里,普遍被开发者所忽略。今天就讲讲这块吧! 单元测试用的好,开发的效率其实会提高很多。 在计算机编程中,单元测试(英语:Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类(超类)、抽象类、或者派生...

weixin_45347152的博客 249

Android App Development: Unit Testing 安卓应用开发教程之发布应用之单元测试 Lynda课程中文字幕

Android App Development: Unit Testing 中文字幕 安卓应用开发教程之发布应用之单元测试 中文字幕Android App Development: Unit Testing 确保您的Android移动应用的每个部分都能完美运行 使用单元测试和Android SDK中的内置工具在单元级别测试您的应用程序 学习编写两种基本类型的单元测试(本地和仪表测试),并处理复杂的...

BeautifulCoding的博客 276

安卓单元测试

CheckoutModel的loadCheckoutData单元测试2:mock Api类,指定当它的get方法在收到某些调用的时候,直接调用传入的callback的onSuccess方法,然后调用CheckoutModel的loadCheckoutData()方法,验证Otto bus的post方法得到了调用,并且参数是对的。当网络请求返回以后,更新用户界面。然而我觉得,除了这方面的作用,单元测试还能在非常大的程度上改善代码的设计,同时还能节约时间,让人工作起来更有信心、更开心,以及其他的一些好处。

qq_54431641的博客 550

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

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

qq_62784677的博客 1200

单元测试(基于安卓项目)总结

负责公司的单元测试体系的搭建,大约有一两个月的时间了,从最初的框架的调研,到中期全员的培训,以及后期对几十个项目单元测试的引入和推进,也算是对安卓的单元测试有了一些初步的收获以及一些新的认知,因此写下这篇文章来进行一个记录和总结。以下的所有内容纯属个人观点,欢迎讨论。

分享+记录 1386

安卓项目如何做单元测试

先说一下创建篇文章的目的,近期负责搭建公司的单元测试框架,于是查阅了网上的很多文章,以及参考了github上很多的项目例子,并且也进行了相当多的尝试。由于没有安卓的环境,所以如果跑在JVM上,就需要主动去模拟安卓的各种环境,而目前能够满足mock安卓环境的框架中,最好的无疑就是Robolectric了,并且这也是官方推荐的框架。但是Activity中的成员变量,则需要使用mock的,因为只有mock的才能进行执行次数以及其它相关的验证,所以,如何替换Activity中的成员变量,就是一个我们要解决的问题。

weixin_40387773的博客 663

分享基于安卓项目的单元测试总结

负责公司的单元测试体系的搭建,大约有一两个月的时间了,从最初的框架的调研,到中期全员的培训,以及后期对几十个项目单元测试的引入和推进,也算是对安卓的单元测试有了一些初步的收获以及一些新的认知,因此写下这篇文章来进行一个记录和总结。

OKCRoss的博客 278

Android单元测试学习总结

Android单元测试主要分为以下两种(Junit Test), 本地单元测试是纯java代码的测试,只运行在本地电脑的JVM环境上,不依赖于Android框架的任何api, 因此执行速度快,效率较高,但是无法测试Android相关的代码。(Android Test),是针对Android相关代码的测试,需要运行在真机设备或模拟器上,运行速度较慢,但是可以测试UI的交互以及对设备信息的访问,得到接近真实的测试结果。在Android Studio中新建一个项目的时候,app的gradle。

2401_86968743的博客 2810
下一篇: ps笔记01-软件界面介绍
codelady
博客等级 码龄11年 26粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值