当前位置:网站首页>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)
边栏推荐
猜你喜欢
加密公司集体裁员 以应对加密寒冬和通货膨胀?现加密总市值低于1万亿美元
最近看到很多人想自学或者报班但是不清楚如何选择,我今天就和大家说说
【面试整理】-- 多线程
数学基础(四)极大似然估计、误差的高斯分布与最小二乘估计的等价性
What are the most popular automated testing tools in 2022?The most complete and most detailed of the entire network is here
2027年加密市场将会发生什么?思维的跨越?长期预测无法脱离形势变化
如何实现canal数据同步
Working subtotal rtcp length and network byte order
《独行月球》:独孤月的两次选择,让一个“中间人”成为大英雄
i18n 国际化
随机推荐
【Untitled】
继承 Inheritance
攀爬倒影发光方块
Zabbix 5.0 监控教程(四)
redis集群详解
C专家编程 第9章 再论数组 9.1 什么时候数组与指针相同
(面试题)面试官为啥总是让我们手撕call、apply、bind?
ARM开发(二)ARM体系结构——ARM,数据和指令类型,处理器工作模式,寄存器,状态寄存器,流水线,指令集,汇编小练习题
【网络教程】IPtables官方教程--学习笔记3
《独行月球》:独孤月的两次选择,让一个“中间人”成为大英雄
【物理应用】基于El-centro地震波作用下隔震与非隔震支座下的顶层位移、速度、加速度的对比情况附matlab代码
高并发+海量数据下如何实现系统解耦?【中】
Kubernetes:(十五)PV与PVC的《恩怨情仇》
Likou Brush Question Record 3.1-----977. Square of ordered array
Building PO layered architecture of automated testing framework from 0
【洛谷】P1456 Monkey King
Pytest+request+Allure实现接口自动化框架
What aspects should we start with for interface security testing?
权限系统就该这么设计(万能通用),稳的一批!
【剑指offer】二进制中1的个数&&2的幂