IDFA 单元测试以及单元测试覆盖率步骤

2023-11-13

一、单元测试类

1、新建java类

随意选择java类文件,新建一个Java类CountVowel,用来统计字符串中元音的个数,代码如下:

public class CountVowels {
    private static boolean isVowel(int c){
        return c=='a' ||c=='e'||c=='i'||c=='o'||c=='u';
    }

    public static int countVowel(String s){
        return (int) s.toLowerCase().chars().
                filter(CountVowels::isVowel).count();
    }

    public static int countConstants(String s){
        return s.length()-CountVowels.countVowel(s);
    }
}

2、生成测试类

一)、对写好的类新建测试类,有以下两种方法:

  1. 将鼠标光标移动到类名上,使用 Alt+Enter 组合键,如下图,选择 Create Test,从而新建一个测试类;
    在这里插入图片描述

  2. 右键点击代码区,选择 Go To 下的Test,即可,如下图:
    在这里插入图片描述

二)选择要测试的方法
选择相应版本的JUint,写测试类的名字,以及在下方选择要测试的方法,选择好后点击OK
在这里插入图片描述
三)在方法内编写相应的语句
在此次测试中使用的是assertEquals()方法,比较程序输入的字符串中元音个数和实际是否相同。

import junit.framework.TestCase;

public class CountVowelsTest extends TestCase {

    public void testCountVowel() {
        assertEquals(CountVowels.countVowel("apple"),2);
    }

    public void testCountConstants() {
        assertEquals(CountVowels.countConstants("apple"),3);
    }
}

当然,也可以使用其他的代码片段,比如输出简单语句用以测试。

二、单元测试覆盖率

查看单元测试覆盖率是可以在单元测试的基础上完成。
在完成测试类的编写后,点击右键,选择More Run / Debug后,再选择 “*Run ’ …’ with Coverage *”,运行后会在右边出现一个板块,展示代码的覆盖率。
如下:
在这里插入图片描述

在这里插入图片描述
更详细的内容可参考IDEA单元测试–详细使用步骤,这篇更加详细地讲解了IDFA前期建立文件、导包等内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IDFA 单元测试以及单元测试覆盖率步骤 的相关文章

  • H2 - 多个应用程序访问同一个 H2 数据库

    我正在使用嵌入式数据库H2在 2 个网络应用程序中说WebApp1 and WebApp2 我运行 WebApp1 并执行一些查询来访问 H2 数据库 同时我运行 WebApp2 但它抛出异常H2 当前已被另一个进程使用 我的需求是 我应该
  • android-透明RelativeLayout

    我想要制作一个具有可绘制渐变作为背景的活动 并将在其背景顶部显示 4 个面板 相对布局 现在我想让 4 个面板透明 例如 50 以便也可以看到渐变背景 我搜索了谷歌 但我发现只能通过活动而不是布局来做到这一点 如何做我想做的事 您可以创建一
  • spring boot框架下如何过滤tomcat产生的访问日志

    我们使用spring boot框架 通过嵌入式tomcat生成访问日志 访问日志的格式如下 server tomcat access log enabled true server tomcat access log pattern h l
  • Spring Batch 多线程

    我正在编写一个 Spring Batch 并希望在需要时对其进行扩展 我的 ApplicationContext 看起来像这样 Configuration EnableBatchProcessing EnableTransactionMan
  • Spring 可以理解 @Inject 替换 Weld 作为 JSR-299 实现吗?

    我从几个网页中注意到 Spring 3 0 显然支持来自 JSR 330 的 Inject 由于我们确实希望在 Web 应用程序和独立应用程序的库中使用 JSR 299 语法进行依赖项注入 并且有 Weld 的替代方案 因此如果 Sprin
  • 使用Optional作为类中的属性是一个好习惯吗? [复制]

    这个问题在这里已经有答案了 我读过一些关于目的的内容Optional 不幸的是我不记得在哪里 在Java 8中 我很惊讶作者没有提到使用Optional作为类中的属性 由于我在课堂上经常使用选项 我想知道这是否是一个好的做法 或者我可以更好
  • UiBinder 中的 gwt 按钮

    我需要创建一个按钮 所以它是一个带有图像的按钮 gwt with UiBinder 但我不确定如何进行 这是我的ui xml code
  • Spring @Transactional 并发

    class MyService 公共无效a 同步 某个键 b Transactional 传播 传播 REQUIRES NEW 公共无效b 数据库工作吗 除非您使用代码编织 否则这是行不通的 Spring处理事务的默认方式是通过AOP代理
  • 在java中将jpeg/png转换为像素数组

    如何将包含 jpeg 或 png 的字符串转换为像素数组 最好是一维 理想情况下使用java内置的类 原来你需要公共文件上传 http commons apache org fileupload 看着那 这用户指南 http commons
  • 如何告诉 Java SAX 解析器忽略无效字符引用?

    当尝试使用字符引用解析不正确的 XML 时 例如 x1 Java 的 SAX 解析器因致命错误而惨死 例如 org xml sax SAXParseException Character reference x1 is an invalid
  • Hibernate3:自引用对象

    需要一些帮助来了解如何执行此操作 我将在文件系统上运行递归 查找 并且希望将信息保留在单个数据库表中 具有自引用的层次结构 这是我想要填充的数据库表结构 目录对象表 id int NOT NULL name varchar 255 NOT
  • 使用 colt java lib 时出现“矩阵太大”异常

    我正在使用 cern colt matrix lib 进行稀疏矩阵计算 但似乎我一直遇到此错误 线程 main 中的异常 java lang IllegalArgumentException 矩阵太大 我认为这是因为构造函数在 nrows
  • 如何避免连续“重置偏移量”和“寻找最新偏移量”?

    我正在尝试遵循本指南 https spark apache org docs latest structed streaming kafka integration html https spark apache org docs late
  • 如果可能,将 jFrame 输出到第二台显示器

    我在 Java 中的 Swing 上有一个 jFrame 我希望它输出到第二个监视器 如果该监视器存在 我尝试过这个 通过this http download oracle com javase 6 docs api java awt Gr
  • 使用 JPA 和 Hibernate 时 DISTINCT 如何工作

    DISTINCT 在 JPA 中使用什么列 是否可以更改它 以下是使用 DISTINCT 的 JPA 查询示例 select DISTINCT c from Customer c 这没有多大意义 不同的列是基于哪一列 它是否在实体上指定为注
  • Selenium Webdriver 中的 IF 语句

    我想知道是否有人可以帮助我解决我正在尝试解决的问题以及 Java 中 Webdriver 的 If 语句 当登录到我正在测试的应用程序时 可以在主页之前进入安全问题页面 如果是新用户等 我希望测试中的代码做的是 如果出现安全问题页面 请填写
  • Ant 类路径和 junit.jar

    我有一个 build xml 它允许我运行 junit 测试 这是相关部分
  • 如何更改MultipartFile的originalFilename

    我在服务器端有一个 MultipartFile 文件 我想更改该文件的原始文件名 但该类仅支持 getOriginalFilename 谁能帮我这个 PS 上传的是图片文件 多谢 您可以使用 MockMultipartFile 类更改名称
  • 如何使用 JRE 部署 JavaFX 11 桌面应用程序

    我有一个 JavaFX JDK 8 桌面业务应用程序 它使用 Java Web Start 进行部署 用户安装了 Java 8 只需访问 URL 我的 AWS Linux 服务器上的公共 URL 即可下载 启动应用程序 使用 Web Sta
  • 在私有 guice 模块中公开 Map

    我在 guice 中有一个 PrivateModule 我想从该模块公开一个 Map public class TestInjectionModule extends PrivateModule expose Map class annoa

随机推荐

  • 基于linux下的dm9000网卡移植全分析

    DM9000可以直接与ISA总线相连 也可以与大多数CPU直接相连 Mini2440采用的是dm9000直接连接CPU s3c2440 上 就像是nandflash一样直接被挂在CUP上 被挂在s3c2440的bank4上 小插曲1 s3c
  • web项目部署到某云Linux服务器的详细步骤

    一 安装xshell 和 xftp 1 xshell连接服务器 方式有几种 这里只介绍其中之一 在 某云 密钥对创建密钥对 然后会得到下载的密钥对文件 打开xshell 打开 新建 上图中的主机填某云 实例 中的 然后在xshell 用户身
  • Python3,Pandas这4种高频使用的筛选数据的方法,不得不说,确实挺好。

    Pandas数据筛选方法 1 引言 2 4种高频使用数据筛选方法 2 1 布尔索引 2 2 isin 方法 2 3 query 方法 2 4 loc 方法 3 总结 1 引言 小屌丝 鱼哥 share一下 数据筛选的方法呗 小鱼 Excel
  • 精度 vs 效率:模型越小,精度就一定越低吗?

    导语 深度学习是否朝着正确的方向发展 以下是我最近在伦敦 O Reilly AI Conference 和 DroidCon 上的两次谈话的改编 今年早些时候 NVIDIA 的研究人员发布了 MegatronLM 这是一个拥有 83 亿个参
  • 东方财富choice金融终端研究笔记

    东方财富choice金融终端研究笔记 最近在研究 东方财富choice金融终端 我就搞不懂了 他们弄这个东西是存心不让人懂的吗 说明PDF第四页 方式一 使用激活工具 适用于有图形界面 根据所用系统环境 运行接口激活工具LoginActiv
  • 第一节:Keras深度学习框架之环境搭建

    请在学习本节前阅读我们之前的预热课程 卷积神经网络的框架解读 上 BBM的开源HUB的博客 CSDN博客 卷积神经网络的框架解读 下 BBM的开源HUB的博客 CSDN博客 从本节开始 我们将进入到Keras的详细介绍和代码精读 为开始我们
  • 02-编写单个字节设备模块的驱动套路

    目录 1 单字节设备和多字节设备的区别 2 单字节设备 LED设备驱动 的驱动套路 2 1 头文件 2 2 定义设备驱动相关的变量 2 3 编写file operations 相关操作的函数 2 3 1 open函数 2 3 2 relea
  • matlab做角谱传播代码_AI

    运筹OR帷幄 转载 作者 机器之心 编者按 对python语言有所了解的人都知道Numpy这个数学处理工具包 而它在机器学习中也有很重要的地位 通过合理的使用Numpy这个工具 可以简单快速地搭建模型的数学计算流程 可以说是一把 利剑 普林
  • 阿里云:网络编程 bind:cannot assign requested address errno:99 问题

    解决方案 阿里云上的服务器代码绑定的 IP 需要时内网 IP ifconfig 查看 其他客户端连接服务器时所用的 IP 得是阿里云的外网 IP 查看实例即可 分析思路 猜想1 bind cannot assign requested ad
  • 解决“Pycharm中用Install Package 安装第三库出错”问题的经验

    1 问题描述 在PyCharm中通过Install Package 安装第三库 requests 报错了 但是可以通过终端Terminal可以安装 报错信息如图 2 问题分析及方法对策 根据我自己的经历以及网上搜寻所得 大致总结出如下原因
  • Python Selenium UI自动化测试

    1 自动化测试基础 1 1 自动化测试的定义 将人为的测试行为转化为机器自动执行的过程 1 2 自动化测试的目的 减少成本 提高测试效率 减少人为因素对测试的影响 1 3 什么项目适合做自动化测试 项目界面稳定 需求明确 项目周期长 测试脚
  • robot framework 接口自动化测试(2)get方式传递token

    之前介绍了get请求头不需要传递参数的方式 那么对于需要传入登录状态的token接口我们怎么测试呢 下面介绍一下 首先先做post的接口自动化获取到token token实时更新 所以每次调用需要token的get接口测试都需要post的t
  • postman-post格式报文接口的配置

    post格式报文接口的配置 1 新建请求 2 配置请求报文 输入接口URL authorization界面可配置授权信息 header界面可以配置请求头 body界面可以配置请求体 非作者允许 严禁转载 http接口有许多格式 post格式
  • pymysql中 execute 和 executemany 性能对比,以及与原生SQL 相比如何

    今天在mysql中插入大批量数据时 突然想起pymysql 还有executemany 方法 那么这两个方法到底谁快 快多少 测试环境 python3 mysql pymysql 老规矩 先上测试代码 class IN sql def in
  • [1144]Hive常用日期格式转换

    文章目录 获取当前时间 Hive中处理毫秒级别的时间戳 日期格式转换 返回日期中的年 月 日 时 分 秒 当前的周数 返回当月或当年的第一天 计算日期差值 返回结束日期减去开始日期的天数 返回开始日期startdate增加days天后的日期
  • webpack5 学习(六)—— 管理资源:自定义 JSON 模块 parser

    通过使用 自定义 parser 替代特定的 webpack loader 可以将任何 toml yaml 或 json5 文件作为 JSON 模块导入 在 src 文件夹下创建一个 data toml 一个 data yaml 以及一个 d
  • 矩阵求和

    include
  • 第四十章 Unity 按钮 (Button) UI

    本章节我们介绍一下按钮UI 首先 我们创建一个新的场景 SampleScene3 unity 然后 在菜单栏中点击 GameObject gt UI gt Button 截图如下 我们选中刚刚创建的Button 然后查看它的Inspecto
  • 深度优先搜索——搜索与回溯,从n个数中取出r个数的排列

    5 2 1 include
  • IDFA 单元测试以及单元测试覆盖率步骤

    一 单元测试类 1 新建java类 随意选择java类文件 新建一个Java类CountVowel 用来统计字符串中元音的个数 代码如下 public class CountVowels private static boolean isV