软件测试——Java单元测试(常用注解+断言)待续

news2024/12/24 2:34:23

1.软件及环境

        软件:IDEA

        环境:JDK1.8,Junit 4.13

2.环境配置

        这里我们采用IDEA编辑器,利用Maven对项目进行构建,如下:

        然后项目构建完之后,首先第一步是进入pom文件,添加Junit4.13依赖,然后第二步是在test->java路径下创建测试类(在这里我创的是MyTest)

        pom.xml文件添加依赖:

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

3.常用注解

        JUnit4常用注解有:

注解描述
@Test标注于方法之上,表示该方法是一个测试方法
@Test(timeout=xxx)约束测试方法运行的最长时间,超时则测试失败
@Test(expected=*.class)用于对方法内部抛出的异常进行验证
@Before在每个测试用例之前执行某些语句,例如,初始化数据等
@After在每个测试用例之后执行某些语句,例如,重置变量、删除临时文件、变量等
@BeforeClass在当前测试类的所有测试用例之前执行某些语句,例如,建立连接
@AfterClass在当前测试类的所有测试用例之后执行某些语句,例如,执行所有测试用例后释放资源
@Ignore执行时忽略(跳过)测试方法
@Runwith放在测试类名之前,用来确定该类的运行方式,也可以不标注,如不标注则会使用默认运行器
@SuiteClasses用于在套件测试中标识运行的测试类
@Parameters用于参数化测试

3.1@Test

@Test 注解用于将一个普通的方法修饰成一个测试方法,每个被 @Test 注解标记的 public void 方法都会被 JUnit 框架当作测试方法来执行。

3.2@Before,@BeforeClass,@After,@AfterClass

@ Before 注解表示该方法必须在类中的每个测试方法之前执行,一般用于初始化数据。如果要在每个测试用例之前执行一些语句,可以使用此注解。

使用 @After 注解修饰的方法会在执行每个测试方法后执行,一般用于在每个测试方法后重置某些变量、删除临时变量等。

@BeforeClass 注解修饰的方法会在类的所有测试方法执行之前执行一次。一般可用于初始化一些共享的配置方法(例如,连接到数据库)。

当需要在执行完类的所有测试方法之后执行某些操作(例如,断开数据库连接),可使用 @AfterClass 注解来修饰。

3.3超时测试(@Test(timeout=xxx))

        这里我们设置1秒,代码里进行线程等待1.5s,可以看到会出现报错信息

3.4异常测试(@Test(timeout=xxx))

        这边我们对除法进行测试,我们都知道除数不能为0。

可以看到出现异常:ArithmeticException,因此我们在测试中对该异常进行测试:

3.5忽略测试(@Ignore)

在单元测试过程中有时候会出现需要临时跳过部分测试类或测试方法的情况,比如,部分测试类或测试方法还未编写完成。JUnit 4 中提供的 @Ignore 注解可以帮助我们在执行单元测试时忽略不需要执行的测试类或方法,当需要暂时不执行特定的测试类或测试方法时可以使用 @Ignore 注解。

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

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

相关文章

深度学习Day-19:DenseNet算法实战与解析

&#x1f368; 本文为&#xff1a;[&#x1f517;365天深度学习训练营] 中的学习记录博客 &#x1f356; 原作者&#xff1a;[K同学啊 | 接辅导、项目定制] 要求&#xff1a; 根据 Pytorch 代码&#xff0c;编写出 TensorFlow 代码研究 DenseNet 与 ResNetV 的区别改进思路是…

概率论与数理统计,重要知识点——全部公式总结

二、一维随机变量及其分布 五个分布参考另外一篇文章 四、随机变量的数字特征 大数定理以及中心极限定理 六、数理统计

Python量化交易学习——Part4:基于基本面的单因子选股策略

技术分析与基本面分析是股票价格分析最基础也是最经典的两个部分。技术分析是针对交易曲线及成交量等指标进行分析,基本面分析是基于公司的基本素质进行分析。 一般来说选股要先选行业,在选个股,之后根据技术分析选择买卖节点,因此针对行业及个股的基本面分析是选股的基础。…

python数据分析案例-研究生成绩分析

一、简介 在本次研究中&#xff0c;我们对2018年硕士生考试成绩数据进行了深入的统计分析。这项分析旨在探索不同因素如性别、生源背景、基因型以及出生月份等对学生成绩的潜在影响。我们使用了一系列的统计方法&#xff0c;包括描述性统计分析、相关性分析、分组分析以及方差…

【Java数据结构】二叉树详解(二)

&#x1f512;文章目录&#xff1a; 1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; 2. 二叉树的模拟——正文 2.1获取树中节点的个数 2.2获取叶子节点的个数 2.3获取第K层节点的个数 2.4获取二叉树的高度 2.5 检测值为value的元素是否存在 …

WPF Treeview控件开虚拟化后定位节点

不开虚拟化&#xff0c;可以用下面的方法直接定位 <Window x:Class"WpfApplication2.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"Title"Main…

Qt OPC UA通信

介绍 OPC UA全称Open Platform Unified Architecture&#xff0c;开放平台统一架构&#xff0c;是工业自动化领域通用的数据交换协议&#xff0c;它有两套主要的通信机制&#xff1a;1.客户端-服务器通信&#xff1b;2.发布订阅。Qt对OPC UA通信标准也提供了支持&#xff0c;目…

JDBC学习笔记(三)高级篇

一、JDBC 优化及工具类封装 1.1 现有问题 1.2 JDBC 工具类封装 V1.0 resources/db.properties配置文件&#xff1a; driverClassNamecom.mysql.cj.jdbc.Driver urljdbc:mysql:///atguigu usernameroot password123456 initialSize10 maxActive20 工具类代码&#xff1a; p…

代码随想录算法训练营第二十八天|93.复原IP地址 ,78.子集 ,90.子集II

93. 复原 IP 地址 - 力扣&#xff08;LeetCode&#xff09; class Solution {ArrayList<String> results new ArrayList<>();public List<String> restoreIpAddresses(String s) {if(s.length() > 12){return new ArrayList<>();}char[] ipChars …

f4pga环境搭建教程

f4pga环境搭建教程 背景介绍 FOSS Flows For FPGA (F4PGA) project&#xff0c;是一套开源的FPGA工具链&#xff0c;号称the GCC of FPGAs&#xff0c;作用是将写的硬件描述语言&#xff08;verilog或VHDL&#xff09;转化为可以在FPGA上运行的可执行文件&#xff08;bit文件…

Python实现PPT表格的编写包含新建修改插图(收藏备用)

自动创建一个ppt文件并创建好表格 代码要用到pptx库 pip install python-pptx 创建含有表格的ppt文件代码&#xff1a; from pptx import Presentation from pptx.util import Inches# 创建一个PPT对象 ppt Presentation()# 添加一个幻灯片 slide ppt.slides.add_slide(p…

原美团项目管理专业通道执行主席边国华受邀为第十三届中国PMO大会演讲嘉宾

全国PMO专业人士年度盛会 峰项标&#xff08;北京&#xff09;管理咨询有限公司常务副总裁、原美团项目管理专业通道执行主席边国华先生受邀为PMO评论主办的2024第十三届中国PMO大会演讲嘉宾&#xff0c;演讲议题为“从组织级项目管理能力的评价角度看企业实践”。大会将于6月2…

Python读取字节数组

读取和处理bytearray中的值 # 输出&#xff1a;Combined 16-bit value: 1234 python-can发送和接收CAN报文 import can # 创建一个CAN总线对象&#xff08;这取决于你的硬件和驱动程序&#xff09; bus can.interface.Bus(channelcan0, bustypesocketcan) # 定义一个CAN…

django 内置 JSON 字段 使用场景

Django 内置的 JSON 字段&#xff08;JSONField&#xff09;是在 Django 3.1 版本中引入的&#xff0c;用于处理 JSON 格式的数据。JSONField 允许在数据库表中存储和查询 JSON 数据&#xff0c;并且在与 Python 代码交互时自动转换为合适的 Python 数据类型。以下是一些常见的…

成都欣丰洪泰文化传媒有限公司好不好?

在数字经济的浪潮中&#xff0c;电商行业以其独特的魅力和无限的发展潜力&#xff0c;吸引了越来越多的企业和个人投身其中。作为电商服务领域的佼佼者&#xff0c;成都欣丰洪泰文化传媒有限公司凭借专业的团队、优质的服务和创新的理念&#xff0c;不断引领电商新风尚&#xf…

INT202 例题

算法复杂度 O(n)&#xff1a;表示算法的渐进上界。如果一个算法的运行时间是O(n)&#xff0c;那么它的运行时间最多与输入规模n成正比。换句话说&#xff0c;当输入规模n增加时&#xff0c;算法的运行时间不会超过某个常数倍的n。比如&#xff0c;如果一个算法的时间复杂度是O(…

AndroidStudio使用高德地图API获取手机定位

一、高德地图API申请 首先去高德注册开发者账号 下面这两个选项&#xff0c;也是我们项目成功的关键 1.1怎么获取SHA1指纹密码 ①使用AS自带的签名文件 你的用户文件下面会有一个.android文件夹,进入文件夹,在这个路径下打开cmd 如果.android下面没有签名文件参考创建文章 …

【管理咨询宝藏124】通过BLM打通前端业务与财务的双轨制设计方案

本报告首发于公号“管理咨询宝藏”&#xff0c;如需阅读完整版报告内容&#xff0c;请查阅公号“管理咨询宝藏”。 【管理咨询宝藏124】通过BLM打通前端业务与财务的双轨制设计方案 【格式】PDF版本 【关键词】BLM、组织架构设计、流程优化 【核心观点】 - 运用“拉通业务财务…

【原创】springboot+mysql大学生综合素质测评管理系统设计与实现

个人主页&#xff1a;程序猿小小杨 个人简介&#xff1a;从事开发多年&#xff0c;Java、Php、Python、前端开发均有涉猎 博客内容&#xff1a;Java项目实战、项目演示、技术分享 文末有作者名片&#xff0c;希望和大家一起共同进步&#xff0c;你只管努力&#xff0c;剩下的交…

【python】成功解决“ValueError: Expected 2D array, got 1D array instead”错误的全面指南

成功解决“ValueError: Expected 2D array, got 1D array instead”错误的全面指南 一、引言 在Python的数据分析和机器学习领域&#xff0c;尤其是使用NumPy、Pandas、scikit-learn等库时&#xff0c;经常会遇到各种类型错误。其中&#xff0c;“ValueError: Expected 2D arr…