当前位置:网站首页>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)
边栏推荐
猜你喜欢
随机推荐
如何实现canal数据同步
【信号去噪】基于Sage-Husa自适应卡尔曼滤波器实现海浪磁场噪声抑制及海浪磁场噪声的产生附matlab代码
整数溢出机制 C
【Redis】主从复制的核心原理
LintCode 283. 三数之中的最大值
原文翻译:Structure Aware Single-stage 3D Object Detection from Point Cloud
加密公司集体裁员 以应对加密寒冬和通货膨胀?现加密总市值低于1万亿美元
用DFS解决最终幻想13-2时钟谜题
[Redis] The core principle of master-slave replication
数据库工具DataGrip V2022.2正式发布——支持导入多个 CSV 文件的选项
搭建Eureka注册中心集群 ,实现负载均衡
科大讯飞笔试题复盘
Solve the Final Fantasy 13-2 Clock Puzzle with DFS
Doris从理论详解到千万级数据量场景使用
xml引配置文件
深度学习:优化器
攀爬倒影发光方块
C专家编程 第10章 再论指针 10.1 多维数组的内存布局
【物理应用】基于El-centro地震波作用下隔震与非隔震支座下的顶层位移、速度、加速度的对比情况附matlab代码
通过kvm创建共享磁盘