2022-08-08 第四组 王佳齐 学习笔记

 

学习笔记:

Junit单元测试

Junit是一个Java语言单元测试框架。【必会】

为什么要用Junit?

1.可以书写一系列的测试方法,对项目的所有接口或者方法进行单元测试。

2.启动后,自动化的测试。

3.只需要查看最后的结果。

4.每个单元测试的用例是相对独立的,用Junit启动。

5.添加,删除,屏蔽测试方法。

 

jar包

如果要引入第三方的插件,xxx.jar的文件。

首先要把这个文件导入到我们的工程目录下

其次,要添加到工程的依赖目录下

 

测试方法要求

1.不能有返回值【此方法本身没有意义,就是用来做测试才创建的】

2.不能有参数

3.必须有Test注解

 

 

------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------

 

Junit断言

Junit所有的断言都包含在Assert类中。【了解即可】

这个类提供了很多有用的断言来编写测试用例,

只有失败的断言才会被记录。

 

静态方法,用类名.方法名直接调用

1.assertEquals:检查两个变量或等式是否相等

2.assertTrue:检查条件是否为真

3.assertFalse:检查条件是否为假

4.assertNotNull:检查对象是否不为空

5.assertNull:检查对象是否为空

 

断言不成功会抛异常,即使程序正常运行但是结果不正确,也会以失败结束。

 

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

Junit注解

1.Test:测试方法

2.Before:在测试方法执行之前执行的方法

3.After:在测试方法执行之后执行的方法

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

命名规范:

单元测试类的命名:被测试类的类名+Test

测试方法的命名:test+被测试方法的方法名

 

集合的面试题1.Hashtable和ConcurrentHashMap【专门应付高并发】性能测试2.ArrayList和LinkedList性能测试数组查询快,插入慢;链表插入快,查询慢1.尾插数组快,链表慢2.遍历,数组快3.头插:链表快,数组慢4.随机删除,如果要过滤,建议用LinkedList

 

开发中还是以ArrayList为主

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

JDK8新增【必知】

1.函数式接口【必会】

2.箭头函数(lambda表达式)不是Java特有的【必会】

3.Optional类

4.断言

5.Stream编程

函数式接口

1.Consumer<T>:消费者 void accept(T t)【有参数,无返回值】

2.Supplier :供应商 T get()【有返回值,无参数】

3.Function:R apply(T t),将一个数据转化成另一个数据

4.Predicate:断言,boolean test(T t),判断返回值是boolean

Optional类是Java8为了解决null问题

流式操作,就是一个单独的接口,不是io流【了解即可】

Steam编程

容器对象功能的增强

我们可以将流看作流水线,这个流水线是处理数据的流水线

当我们使用一个流时通常包括三个步骤

1.获取一个数据源

2.执行操作获取想要的结果

3.每次操作,原有的流对象不改变,返回一个新的Stream对象

 

Stream有几个特性

1.Stream不会存储数据,一般会输出结果

2.Stream不会改变数据源,通常情况下会生成一个新的集合

3.Stream具有延迟执行的特性,只有调用终端操作时,中间操作才会执行

 

归约(reduce)缩减,把一个流缩减成一个值

可以实现对集合的求和,求乘积,求最值

 

分组将集合分为多个map,

例如员工按性别分组,

员工按薪资是否高于8000分组。

 

以下需要掌握

 

筛选*

 

映射

将一个流中的元素按照一定的映射规则映射到另一个流中

 

排序

 

收集

 

 

 

Java IO流---对于文件的操作

Input:把数据从物理内存加载到运行内存。(读文件)

Output:把数据从运行内存写到物理内存。(写文件)

 

java.io包下的类

 

计算机的输入输出都是通过二进制完成

 

0和1

 

------------------------------------------------------------------------------------------------------

 

工具类:File操作文件的类

1.文件的路径

正斜杠:左斜杠,撇,/

反斜杠:右斜杠,捺,\

在Linux和Unix中,路径的分隔采用正斜杠

在windows中,路径分隔采用反斜杠\【正斜杠也好使】

 

在Java中,\代表转义

在Java中写反斜杠是要写两个反斜杠,否则会被认为是转义

 

在File中也定义了路径分隔符的常量,自动识别操作系统,分隔符会根据操作系统不同给你生成对

应的分隔符

 

-------------------------------------------------------------------------------------------------------------------------------

 

File类的构造器

1.参数只有路径

2.参数有路径和文件

3.参数有File类对象【存的要是路径】和文件

 

文件的操作

1.创建文件

新建文件不会覆盖已有文件

 

绝对路径和相对路径:

绝对路径:就是以盘符开头的

相对路径就是没有指定的盘符开头【相对于当前工程的】

 

 

学习心得:今天学习了Junit,Stream,还有一点io流的知识,感觉知识点很杂,Stream和File的类很多。

 

posted @ 2022-08-08 18:40  Iamnotarapper  阅读(30)  评论(0)    收藏  举报
ヾ(≧O≦)〃嗷~