当前位置:网站首页>2022-08-08 第五小组 顾祥全 学习笔记 day31-集合-Junit单元测试
2022-08-08 第五小组 顾祥全 学习笔记 day31-集合-Junit单元测试
2022-08-09 02:58:00 【激进的韭菜】
JUnit单元测试
Junit是一个Java语言的单元测试框架
Junit单元测试的好处
- 可以书写一些列的测试方法,对项目的所有的接口或者方法进行单元测试
- 启动后,自动化的测试
- 只需需要查看最后的结果
- 每个单元测试的用例相对独立,有Junit启动
- 添加,删除,屏蔽方法的测试
jar包
如果引入的是第三方的插件,xxx.jar的文件。
首先要把这个文件导入我们的工程目录下
凄恻,要添加到工程的以来目录中
测试方法
- 不能有返回自豪
- 不能有参数列表
- 必须有Test注解
Junit断言
Junit的所有断言都包含Assert类中
这个类提供了很多有用的断言来编写测试用例
只有失效的断言才会被记录
asserEquals:检查两个变量或灯饰是否平衡
assertTrue:检查条件是否为真
assertFalse:检查田间是否为家
assertNot Null:检查对象是否不为空
assertNull:检查对象是否为空
Before:在测试方法之前执行
After:在测试方法之后执行
命名规范:
单元测试类的命名,被测试类的类名,Test
测试方法的命名,test + 被测试方法的方法名
Junit4、Junit5,建议使用4
测试ArrayList与LinkedList
测试尾插效率(尾插100w个元素)
package com.jsoft.junit;
import org.junit.Test;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
public class Demo1 {
// 测试ArrayList尾插元素效率
@Test
public void testArrayList() {
long begin = System.currentTimeMillis();
List<Integer> list = new ArrayList<>(1000000);
long end = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
list.add(i);
}
System.out.println("耗时:" + (end - begin) + "ms");
}
// 测试LinkedList尾插元素效率
@Test
public void testLinkedList() {
List<Integer> list = new LinkedList<>();
long begin = System.currentTimeMillis();
for (int i = 0; i < 1000000; i++) {
list.add(i);
}
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - begin) + "ms");
}
}
我们测试三次结果,取平均值
ArrayList耗时:1ms (1ms、1ms、1ms)
LinkedList耗时:108ms (115ms、105ms、103ms)
测试随机检索效率(对10w个数据随机检索10w次)
package com.jsoft.junit;
import org.junit.Test;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Random;
public class Demo1 {
// 测试ArrayList随机检索元素效率
@Test
public void testArrayList() {
// itit
Random r = new Random();
List<Integer> list = new ArrayList<>(100000);
for (int i = 0; i < 100000; i++) {
list.add(i);
}
// begin
long begin = System.currentTimeMillis();
for (int i = 0; i < list.size(); i++) {
list.get(r.nextInt(list.size()));
}
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - begin) + "ms");
}
// 测试LinkedList随机检索元素效率
@Test
public void testLinkedList() {
// itit
Random r = new Random();
List<Integer> list = new LinkedList<>();
for (int i = 0; i < 100000; i++) {
list.add(i);
}
// begin
long begin = System.currentTimeMillis();
for (int i = 0; i < list.size(); i++) {
list.get(r.nextInt(list.size()));
}
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - begin) + "ms");
}
}
我们测试三次结果,取平均值
ArrayList耗时:ms (6ms、5ms、3ms)
LinkedList耗时:ms (5190ms、5158ms、5232ms)
边栏推荐
- 机器学习入门
- 全文翻译:Multimodal Neural Networks: RGB-D for Segmantic Segmentation and Object Detection
- 【扫雷--2】
- 7月更新速递 | 产品实验室N+1,EasyV For Unreal上线!
- Financial Industry Software Testing Interview Questions (with Answers) | Getting Started Guide
- C专家编程 第10章 再论指针 10.2 指针数组就是Iliffle向量
- redis集群详解
- C专家编程 第9章 再论数组 9.1 什么时候数组与指针相同
- Zabbix 5.0 监控教程(四)
- 【洛谷】P5091 【模板】扩展欧拉定理
猜你喜欢
随机推荐
数据库工具DataGrip V2022.2正式发布——支持导入多个 CSV 文件的选项
关于eBPF与可观测性,你想知道的都在这里
【元胞自动机】基于元胞自动机模拟社会力因素下的灾害人员疏散应急仿真附matlab代码
Jenkins environment deployment, (packaging, publishing, deployment, automated testing)
【Untitled】
一款免费的强大办公工具。
Solve the Final Fantasy 13-2 Clock Puzzle with DFS
Working subtotal rtcp length and network byte order
Shell脚本:正则表达式
Linux安装Redis
通过kvm创建共享磁盘
MVVM项目开发(商品管理系统二)
金融行业软件测试面试题(含答案)| 入门指南
如何实现canal数据同步
20220528动态规划:最长递增子序列
接口自动化测试-接口封装思想
第一部分:和数组相关的问题
深度学习:优化器
VS2019编译boost_1_79,生成32位和64位静态库
Chapter3 numpy创建数组









