android studio使用junit单元测试及获取代码覆盖率

IDEA运行没有Run ‘xxxTest‘ with coverage选项 在IDEA上想进行单元测试查看代码覆盖率时发现只有 Run All Tests 选项没有 Run Test with Coverage 选项,无法查看代码覆盖率。 根据文章的描述,可能是在安装IDEA的时候没有勾选Coverage选项: 但是根据该文章中的方法,我不知道对应的config文件夹在哪个目录中: 于是我从plugins导入了一下试试: Install 这个 Plugin 然后 Apply & OK 就好啦。 但是中间发生的另一个问题是,我在 Plugins 搜索 Coverage 阅读详情

1.背景

android studio下常用的单元测试类型有Android Junit和Android Instrumented Tests等,这里说下前者。
Android Junit仅需jvm,运行在本地,无需android设备或者模拟器;在较新的AS版本中创建项目,会自动生成两个测试目录:androidTest和test,一般在test中放junit的测试代码,androidTest下面放Instrumented的测试代码

2.编写junit单元测试

针对需要测试的功能代码,比如这里有一个实现加减乘除的class:

右键go to -> test,创建单元测试

选择junit4,setup和teardown根据自己需求选择,以及需要创建单元测试用例的方法

大概是下面这个样子,具体的写法这里不详述,就是调用功能代码中的方法,然后使用断言判断

然后直接执行测试代码即可

3.单元测试及代码覆盖率

上面已经写好了测试代码,右键RUN **test就ok了,或者在Run/Debug Configurations中配置也可以;执行后生成如下测试结果:

结果还可以导出为各种格式查看


下面主要说下如何获取代码覆盖率,以及配置查看指定module的覆盖率情况


执行完成在as的coverage视图会展示覆盖率结果:

点击左侧导出按钮可以导出结果,不再赘述。

导出结果包含了依赖的class,工程main中的其他class,当然点击对应的package可以查看到目标测试代码的覆盖率情况;这里介绍另外一种配置方法,可以针对目标代码展示覆盖率情况;
Run/Debug Configurations中,配置刚执行的Android Junit任务:

重新执行run test with coverage得到结果

这样就只获取指定模块的代码覆盖率结果了。

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

相关推荐

探索 Android Studio 的移动开发单元测试方法

在移动开发中,保证代码的质量和稳定性至关重要。单元测试作为一种重要的测试手段,可以帮助开发者快速发现代码中的问题,提高开发效率。本文的目的就是详细介绍在 Android Studio 这个强大的开发环境中进行移动开发单元测试的各种方法和技巧,范围涵盖从基础概念到实际项目应用的各个方面。本文首先会介绍单元测试相关的核心概念,解释它们之间的关系,并给出原理和架构的示意图及流程图。接着会详细阐述核心算法原理和具体操作步骤,用数学模型和公式进行说明。然后通过项目实战,展示代码实际案例并进行详细解释。

移动开发前沿的博客 413

退出或关闭Android Studio中的Coverage功能

今天在运行代码的时候,不想在idea中再复制一遍了,就想着在Android Studio中运行一下试试。后来发现只能运行Coverage才能在控制台打印结果。那么运行完之后如何取消呢?找到Edit Configuration,在这里删掉就好了。我们可以找到app下拉。

Rssqzqyp的博客 595

Android应用单元测试的实践指南

在Android应用开发中,单元测试是一项重要的实践,它可以帮助开发人员确保代码的正确性和可靠性。本文将提供一份详细的指南,介绍如何进行Android应用的单元测试,并提供相应的源代码示例。通过执行这些步骤,您可以开始编写和运行Android应用的单元测试。单元测试可以帮助您发现潜在的问题并提高代码的质量和可维护性。请记住,在编写单元测试时,应该关注边界条件、异常情况和各种可能的输入。同时,保持测试的可读性和可维护性也是非常重要的。希望本文提供的指南对您开始进行Android应用的单元测试有所帮助。

2301_79331230的博客 104

Android单元测试总结

一、概述: 使用AndroidTest,我们可以获取到Android运行的环境,并且通过在测试文件中实例化我们需要测试的类,然后自己模拟一些参数去调用实例中的方法,来达到测试代码的目的。一个AndroidTest文件,就相当于一个运行进程一样,可以在真机上运行,并且可以把测试跑后的结果统计出来,作为研发自测重要的一个根据。 二、创建测试单元 我们可以针对我们代码中那些很关键的控制性类创建一个测试单元,这样创建的测试单元就可以包含很多内容。创建的方式也很简单,在需要创建的类边上进入提示,如下: 点击Crea

天花板的随笔 4271

SAP数据导入工具(LSMW) 超级详细教程(批量导入内部订单)

用户提了个需求,让我批量导入内部订单几百个内部订单。我本打算用写段ABAP 代码来调用 BAPI (BAPI_INTERNALORDER_CREATE)就可以了。但想到我很久没有用过LSMW 了,都快要忘记了。于是我采用LSMW的方式,完成了任务。并把过程记录下来,形成教程方便我以后回头查看,分享出来也希望对大家有帮助。

IT小职员 2万+

基于java的汉服商城管理系统设计与实现的详细项目实例

本文介绍了一个基于Java的汉服商城管理系统设计与实现项目。该项目采用三层架构设计,包含用户模块、商品管理、订单处理、支付结算等核心功能,支持多角色权限控制和响应式前端界面。 系统创新点包括: 专业化的汉服商品管理,支持多规格属性组合 高并发订单处理机制,确保库存实时同步 个性化智能推荐算法提升用户体验 细粒度权限控制保障系统安全 项目采用SpringBoot+MyBatis技术栈,前端使用React框架实现跨设备兼容。数据库设计包含用户表、商品表、订单表等10个核心表,通过事务管理确保数据一致性。 系统解

优质创作者: 人工智能技术领域 对于有一定基础的 MATLAB和Python带具体需求都可以详谈 MATLAB和Python可以提供代码调试服务加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢 802

Android Studio(IDEA)使用覆盖率测试(run with coverage)报错(已解决)

解决IDEA系列 覆盖率测试报错,杜绝复制粘贴教程

Anchor_shiyu的博客 2320

Ubuntu 22.04 局域网安装GitLab

下面直接给你一份。

u013250861的博客 666

关于Android单元测试与最常用的Junit4的那些事

Android单元测试与最常用的Junit4 一、Android单元测试 单元测试是针对类中的某一个方法进行验证是否正确的过程,单元就是指独立的粒子,在Android和Java中大都是指方法。 二、使用单元测试的原因 使用单元测试可以提高开发效率,当项目随着迭代越来越大时,每一次编译、运行、打包、调试需要耗费的时间会随之上升,因此,使用单元测试可以不需这一步骤就可以对单个方法进行功能或逻辑测试。 ...

weixin_38196407的博客 815

边表法

边表法是用来绘制填充一个面的,边表法的关键是边表和连接边表的扫描线。 对于边的描述利用边表数据结构,包含边与扫描线的交点x坐标,边的最大y坐标,这样可以知道边加入到哪些扫描线上,便还有一个指针来记录扫描线上其它边。 //边数据结构 #pragma once #ifndef __CAETZ__ #define __CAETZ__ #include "pch.h" #include "CPoin...

weixin_42376458的博客 2101

手把手教你设计STM32的JTAG电路:从原理图到PCB布局(含JLINK连接详解)

本文详细介绍了STM32的JTAG电路设计全流程,从核心原理、接口规范到PCB布局布线技巧,特别包含JLINK调试器的连接与配置方法。通过信号滤波、上拉配置和防反接保护等关键设计要点,帮助开发者构建稳定可靠的JTAG调试环境,提升嵌入式开发效率。

weixin_29159441的博客 388

如何使用AndroidTDDBootStrap进行单元测试?JUnit与Mockito实战指南

想要在Android开发中实现高效的测试驱动开发(TDD)吗?AndroidTDDBootStrap项目为你提供了一个完整的TDD引导方案!这个开源项目集成了JUnit和Mockito等现代测试工具,帮助开发者快速构建可靠的Android应用测试体系。本文将为你详细介绍如何使用AndroidTDDBootStrap进行单元测试的完整实战指南。🚀 ## 📊 AndroidTDDBootStra

gitblog_01019的博客 875

国产麒麟V10系统命令大全,100个实用命令助你玩转系统!

国产麒麟V10系统命令大全,100个实用命令助你玩转系统!

网络技术联盟站 1906

Android单元测试

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

sl851938874的博客 1万+

YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是基于StarNet的YOLOv11轻量化改进方法研究。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 5985

线性自抗扰控制(LADRC)系统算法框图

NLADRC自抗扰控制从Simulink仿真到PLC控制实现_自抗扰控制器 simulink仿真-优快云博客本文介绍了如何将ADRC自抗扰控制算法从Simulink仿真应用到PLC控制中,包括Simulink框图、TD微分器模型、MATLAB函数的使用、SCL控制代码,以及非线性状态误差反馈控制率的实现。提供了详细的MATLAB仿真步骤和PLC源代码链接。ADRC自抗扰控制算法(含梯形图完整源代码和算法公式)_adrc算法-优快云博客。

RXXW_Dor的博客 1461

Android单元测试:JUnit+Mockito+PowerMock实战指南

单元测试是软件开发中确保代码质量的关键环节,其核心原理是通过隔离被测代码与外部依赖,验证逻辑的正确性。在Android开发领域,JUnit作为基础测试框架,结合Mockito的依赖模拟能力和PowerMock对静态方法/私有方法的扩展支持,形成了高效的测试解决方案。这套技术组合显著提升了测试覆盖率(实践数据显示平均提升40%),特别适用于复杂业务逻辑验证。通过合理的测试金字塔实施(70%单元测试+20%集成测试+10%UI测试)和Gradle依赖配置,开发者可以构建快速反馈的持续集成环境。典型应用场景包括A

weixin_33800463的博客 356

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Jenkins构建Android项目持续集成之单元测试及代码覆盖率

(转载)http://blog.youkuaiyun.com/it_talk/article/details/50267573 单元测试   在软件开发中一直在推崇TDD(测试驱动开发),但是一直不能被有效的执行或者并不是真正的测试驱动开发(先开发后写单元测试),因为我们懒!而Android开发又是大多应用层面的开发,很多都是和视图层紧密相连的,业务逻辑和view相绑定,这导致编写单元测试

u010746364的博客 690

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android自动化单元测试(下)

承接上文 上一篇单元测试讲了如何在Android Studio中写测试用例,自动化测试并生成测试报告,这一篇主要讲一下扩展工具的使用。 jacoco代码覆盖率   jacoco是一个检测代码覆盖率的插件工具,那什么是代码覆盖率呢?代码覆盖率简单来说就是单元测试用例所测试到的代码比重,被测试到即是被覆盖。覆盖率高自然是好事,但不能完全说明代码质量高没有bug,生成的覆盖率报告可能大

jara0705的专栏 653

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Android单元测试——辅助工具介绍

Android单元测试——辅助工具介绍 一.Code Coverage Tool : jacoco、IntelliJ IDEA 二.静态代码检测工具:FindBugs 三.Annotation、@Rule介绍

yoyo_zyx的博客 673

Android单元测试 ->知识整理及分享

Android单元测试 ->知识整理及分享Android单元测试单元测试?What?Why?一、Android现有测试框架及其优缺点JUnit4MockitoPowerMockitoRobolectricUIAutomator和Espresso;robotium;UI测试用例ActivityUnitTestCase、ActivityInstrumentationTestCase2二、确定Android 测试框架三、单元测试怎么写,非界面的逻辑部分的单元测试怎么写JUnit4PowerMockito普通

是非的Android学习之路 1447

Android测试最新框架,Android单元测试-常见的方案比较

前言本文将介绍在Android Studio中,android单元测试的介绍和实现。相关代码托管在github上的AndroidJunitDemo中,涉及到的用例代码收集于google官方提供的测试用例android-testing,同时进行了简化和修改。你可以从该demo中学习单元测试简单的使用,在工程中,包含两个模块,一个实现计算器功能的CalculationActivity,另外一个是Per...

weixin_35128544的博客 616

安卓应用测试学习手册(一)

无论您在 Android 设计上投入多少时间,甚至在编程时多么小心,错误是不可避免的,bug 也会出现。这本书将帮助您最小化这些错误对您的 Android 项目的影响,并提高您的开发生产力。它将向您展示那些容易避免的问题,帮助您快速进入测试阶段。《Android 应用测试指南》是第一本也是唯一一本提供实用介绍的书,旨在通过使用各种方法提高您的 Android 应用程序开发,介绍最常见的技术、框架和工具。作者在将应用测试技术应用于实际项目方面的经验,使他能够分享关于创建专业级 Android 应用程序的见解。

龙哥盟 1319

【Android】合并library单元测试覆盖率报告

关于Android单元测试和代码覆盖率,我最近才接触到,在这里把遇到的坑分享给大家。 Android单元测试,就是对我们写的代码进行最小粒度的测试,可以测试函数的执行情况及运行时间。在新版本的Android Studio中,我们新建一个工程,就会自动生成单元测试目录及自动添加测试框架的依赖。 关于Android单元测试的相关知识,在这里不作讲解,大家可以参考其它文章。代码覆盖率报告是表现单元测试...

devnn的专栏 2378

Android-Coverflow测试策略:单元测试和UI测试最佳实践指南

Android-Coverflow是一个专为Android平台设计的精美封面流库,它提供了流畅的3D封面切换效果。在开发高质量的开源库时,完善的测试策略是确保代码质量和用户体验的关键。本文将为您详细介绍Android-Coverflow的测试策略,包括单元测试和UI测试的最佳实践。 ## 🎯 为什么测试对Android-Coverflow如此重要? 作为一款视觉展示组件库,Android-C

gitblog_00732的博客 791
上一篇: maven工程加入jacoco检测单元测试代码覆盖率
下一篇: Mockito在Maven junit测试中的应用
ronniewy
博客等级 码龄15年 0粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值