IntelliJ IDEA for Mac如何使用单元测试Junit

文章目录

  • 测试分类
  • Junit 使用步骤
  • 测试结果的判定
  • 常用的注解
    • @Before
    • @After

测试分类

黑盒测试:不需要写代码,不需要关注程序执行具体逻辑和流程,给输入值,看程序是否能够输出期望的值
白盒测试:需要写代码,需要关注程序执行的具体逻辑、流程、性能等技术细节

Junit 属于白盒测试

Junit 使用步骤

1.定义一个测试类(测试用例)
规范建议:
测试类命名:功能名称或者类名 + Test
包命名:xxx.xxx.xxx.test

2.定义测试方法
规范建议:
方法名:test + 被测试的方法名
返回值:void
参数列表:空参

3.给方法加上注解 @Test

4.添加Junit的依赖环境

添加 Junit 依赖环境前,输入@Test 注解会报错,点击红色灯泡或者按下组合键 Option + Enter ,如下图所示,选择将 Junit4 添加到类路径中
在这里插入图片描述

测试结果的判定

使用断言操作,例如,测试方法 add(int a, int b),传入参数 1,2,期望的输出结果是 3,即我断言这个结果是 3,所以可以将断言的结果和实际方法返回的值做对比,如果相同则测试通过(结果会显示绿色),如果不同则测试不通过(结果会显示红色)。

可以使用 Assert 的静态方法 public static void assertEquals(long expected, long actual),进行断言相等比较

示例代码:

package priv.lwx.javaprac.test;import org.junit.Assert;
import org.junit.Test;
import priv.lwx.javaprac.junit.Calculator;/*** @Author liaowenxiong* @Version* @date 2021/9/14 下午5:28*/
public class CalculatorTest {/*** 测试add方法*/@Testpublic void testAdd() {// 创建Calculator对象Calculator c = new Calculator();// 调用add方法int result = c.add(3, 5);// System.out.println(result);// 测试时通常情况下不要输出// 使用断言,和真实的结果对比,相同则测试通过(会显示绿色),不同则测试不通过(会显示红色)Assert.assertEquals(8,result);}/*** 测试sub方法*/@Testpublic void testSub() {// 创建Calculator对象Calculator c = new Calculator();int result = c.sub(1, 2);// 使用断言相等比较Assert.assertEquals(-1, result);}
}

断言相等比较,如果预期的值和实际返回的值不相等,会看到如下的输出结果:
在这里插入图片描述

常用的注解

@Before

在所有测试方法执行前都会先执行 @Before 注解的方法。

@After

在所有测试方法执行后都会自动执行 @After 注解的方法。
注意:测试方法报错,也会自动执行 @After 注解的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/333240.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

File类、递归、字节流

一、File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 1.2 构造方法 public File(String pathname) :通过将给定的路径名字符串转换为抽象路径名来创建新的 File实例。 public File(String …

java求期望_Java 11的期望

java求期望过去的几年对Java世界一直是动荡不安的,在相当多的发行版中添加了各种各样的功能。 在开发人员社区中,人们逐渐意识到Java的开发速度不够快。 在最初的20年中,Java平台和Java开发工具包(JDK)经历了庞大&…

IntelliJ IDEA for Mac 封装字段(添加setter/getter方法)

可以利用 IDEA 对类中的字段进行封装,所谓“字段封装”,就是指通过调用方法的方式来访问字段,而不是直接通过“对象.字段名”的方式去访问。 例如,成员变量 hairColor 是一个 public 的变量,没有相关的 setter/getter…

JDBC预处理对象prepareStatement

JDBC预处理对象prepareStatement概述 一、SQL注入问题 SQL注入:用户输入的内容作为了SQL语句语法的一部分,改变了原有SQL真正的意义。 假设有登录案例SQL语句如下: SELECT * FROM 用户表 WHERE NAME 用户输入的用户名 AND PASSWORD 用户输的密码; 此…

bean包、entity包、mode包、domain包的区别

文章目录beanentitymodeldomain总结bean 包含的都是 JavaBean。 JavaBean 是一种 Java 语言写成的可重用组件。为写成 JavaBean,类必须是具体和公共的,并且具有无参数的构造器。JavaBean 通过提供符合一致性设计模式的公共方法将内部域暴露成属性。Jav…

java修改数据历史记录_记录更新(Java数据类)

java修改数据历史记录最近几个月,有一些与“ Java数据类”(又称为“记录”)有关的更新。 正如我在“ JavaFX,Valhalla,数据类和Java的浮点更新 ”一文中简短提到的那样, Brian Goetz的“ Java数据类 ”“探…

idea配置Maven的本地仓库(打开新的项目时自动更新本地仓库的位置)

配置Maven的本地仓库 一、打开目录然后选择 Other Settings → Settings for New Projects 二、配置自己的文件路径和本地仓库 三、设置每次自动更新本地仓库

java导出数据透视表_使用数据库中的Java流制作数据透视表

java导出数据透视表来自数据库行和表的原始数据不能为人类读者提供太多了解。 相反,如果我们对数据执行某种聚合,则人类更有可能看到数据模式 在向我们展示之前。 数据透视表是聚合的一种特定形式,我们可以在其中应用排序,求平均…

Java程序和MySQL数据库中关于小数的保存问题

文章目录MySQL 中的小数类型decimaldoublefloatJava 中的小数类型floatdoubleBigDecimal金额的计算MySQL 中的小数类型 decimal MySQL 使用 decimal 保存高精度的小数,可以设置保留的小数个数。decimal(m,d),表示该值一共显示 m 位整数,其中…

javafx 遮罩_JavaFX技巧31:遮罩/剪切/ Alpha通道

javafx 遮罩选择条 最近,我不得不实现一个自定义控件,该控件使用户可以从项目列表中选择一个项目。 此“ SelectionStrip”控件必须水平放置项目,并且在项目过多的情况下,允许用户左右水平滚动。 该控件将在空间受限的区域中使用&…

IntelliJ IDEA for Mac如何查看某个方法的实现

如果没有子类,按住 Command,鼠标点击方法名会跳到声明定义方法的地方;如果是接口或者父类,那么只会跳至接口或者父类声明方法的地方,想要看子类的实现,可以点击鼠标右键,选择 【Go To】 -> 【…

日志管理工具_您需要了解的6种日志管理工具(以及如何使用它们)

日志管理工具如果没有正确的工具来汇总和解析您的日志数据,则几乎不可能找到并了解所需的信息。 日志有无穷的用途,因为日志本身是无止境的。 应用程序日志,安全日志,BI日志, 林肯日志 (好吧,也…

Spring半注解半Xml

一、 Component 1.Component 标记了注解, 默认的名称是:简单类名,首字母小写UserDaoImpl -> userDaoImplUserServiceImpl -> userServiceImplComponent可以使用value属性指定对象的名称,相当bean标签的id属性 Component注解…

JDK 命令之 javadoc -- 生成API文档

文章目录命令简介命令选项中文乱码javadoc 命令实例进入源代码文件所在目录,解析指定的源代码文件,生成 API 文档解析指定包下的所有源码文件,生成 API 文档指定源文件根目录,再指定具体的包路径,解析其中的源码文件&a…

apache.camel_带有Spring Boot 2支持的Apache Camel 2.22发布

apache.camel今天,我们发布了最新的Apache Camel 2.22.0版本 ,这是第一个正式完全支持Spring Boot 2的版本。这是一项重大的工作,因为针对像Apache Camel这样的大型框架将Spring Boot v1升级到v2付出了很多努力–感谢骆驼队和他们的贡献。 对…

纯注解的开发

使用纯注解开发 目录结构 JdbcConfiguration package com.itheima.Config;import com.mchange.v2.c3p0.ComboPooledDataSource; import org.apache.commons.dbutils.QueryRunner; import org.springframework.beans.factory.annotation.Value; import org.springframework.co…

IntelliJ IDEA forMac 如何生成项目的javadoc(API文档)

1.在菜单栏,点击 Tools -> Generate JavaDoc… 2.根据你自己的需要,设置解析源文件的范围、设置文档输出目录、设置资源的访问权限范围、字符编码、堆内存大小等。

vaadin_Vaadin Flow –奇妙的鹿

vaadin您可能知道,Vaadin是Java上最受欢迎的Web框架之一: https://zeroturnaround.com/rebellabs/java-web-frameworks-index-by-rebellabs/ https://javapipe.com/hosting/blog/best-java-web-frameworks/ 最近发布了此Web UI开发框架的新版本– Vaa…

Spring和Junit整合

一、引入依赖 <dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.0.2.RELEASE</version></dependency>二、在测试类中修改 &#xff08;1&#xff09;不带有配置文件的修改…

什么是stub文件_stub code

存根, 占位代码&#xff0c;占坑代码&#xff0c;桩代码&#xff0c;粘合代码&#xff0c;残存代码, 指满足形式要求但没有实现具体功能的占坑/代理代码。 stub code 给出的实现是临时性的/待编辑的。它使得程序在结构上能够符合标准&#xff0c;又能够使程序员可以暂时不编辑…