00:00
好,接下来我们来说第七章spring boot与单元测试。首先spring boot自己呢,从2.2.0以后,它引入的这个单元测试都是默认的解UNIT5,而我们以前呢,大家可能都知道单元测试的解UNIT4,我们以前都使用它来做单元测试比较多,但解unit ne迎来了版本升级以后,它比我们以前的解用data里边做了非常大的这个不同,我们整个解五啊,首先它分成了整个三大模块来进行开发的,第一个叫解unit platform解platform指的就是我们解unit整个测试平台的整个基础核心内容,但是呢,不包括我们的单元测试的一些测试引擎,因为呢,我们解用内,它未来想让自己呢,不只只是一个简单的测试框架,它想要成为一个测试平台,能对接各种测试进来的,所以解unit呢,专门开发了一个公共的测试平台,叫解unit platform,其他的各种测试呢,可以通过这个平台对接到。
01:01
解用里边,然后呢,接下来我们解用还有一个叫解用T,这个东西呢,是我们的核心测试引擎,如我们以后呢要做单元测试,我们其实使用的是就T这个里边的一些核心功能,它呢对接到我们这个测试平台里边,我们用这个核心引擎进行我们的单元测试,还有一个叫解用的vintage,因为我们以前解用NE4,包括解用三积累的用户量呢也非常大,所以我们解用五的整个升级,为了考虑我们兼容以前的这个老用户,所以呢它开发了解用vintage这个模块,这个模块呢就是我们来兼容解用NE4,解用NE3来进行开发的,这是我们整个解用T架构方面给我们带来的变化,而且在spring boot使用方面呢,也带来了比较大的变化,首先第一个变化我们来看,从boot我们要使用简用ne,我们现在呢,我们来看一下啊,我们现在的版本是这么来用的,那么现在的版本呢,我们一般是。
02:01
在这来使用,我们在这呢,正好一个有一个解unit的这个测试用例,我们只要呢,这个项目一创建出来,Spring boot都帮我们配置好,所以呢,我们默认的版本呢,是这个样子的,把这个复制过来。比方说我们现在的版本使用简unit会非常方便,只需要呢,我们来写一个测试类,这个测试类上呢,标注了一个注解叫spring boot test,说明呢,这是一个spring boot的单元测试类,然后呢,我们接下来使用ATT test方法来进行单元测试就行,这是我们现在的这个使用方式,但是呢,以前的使用方式啊,可能比较麻烦,大家呢,如果回忆起来,我们以前呢,在这一块标注的注解非常多,有spring boot test,加上我们说这是spring boot单测试类,再来加上runways,哎,我们要以spring的这个驱动,我们要以spring的这个,呃,应该叫一个spring application,哎,我们test类似于我们的这个,我们要以spring的这个驱动等等跑起来,那这是我们以前的这个方式,那现在的方式呢,我们只需要做这么一件事就行了,另外呢,我们解unit内的这个。
03:10
引入的依赖,我们如果想要做单元测试,我们也只需要引入一个场景依赖,叫spring BOO start unit test,我们把我们的这个依赖也拿过来,所以我们的这个项目里边呢,来引入单元测试的这个依赖叫spring BOO start test,而这个依赖呢,我们也能明显看到,那这个boot start test,我们引了哪些spring boot start test,在这我们来看到它呢,除了引入我们spring BOO的一些底层test的一些自动配置,以及一些核心的测试功能,其中最重要的这个测试功能就是解unit的这个ju,这个ju呢,来点开是我们解unit5.7版本的,5.7版本呢,包含我们jupi API,相当于我们要测试期间用的一些API,包括还包含jupi我们这个测试引擎,那测试引擎呢,当然包括我们的平台核心测试引擎,所以呢,这是我们的整个。
04:07
我们看到呢,底层确实是用解忧内五来进行单元测试的,而且另外大家需要注意的是,我们这个讲课呢,一开始使用的是spring boot2.3版本,但是呢,我们在讲课期间spring boot版本也升级到了2.4 2.4和2.3版本对解用的使用又有一点的不同,来到spring boot的这个发布日志里边,可以给大家确认一下spring boot boot官网点进来。好,我们来到它的这个整个release日志,我们看它的整个发布日志,我们现在来参照2.4版本,2.4版本的这个发布日志呢,其中有一个非常大的不同,就是对于我们单元测试,如我们这个2.4版本,要注意我们2.4版本的这个使用又有不同,所以呢,2.4版本呢,首先我们这一句话,他说解UNIT5这个东西啊,解UNIT5的这个vintage引擎已经被默认移除了,也就是说我们现在知道vintage这个是用来兼容解UNIT4的,而我们以后在BT2.4以上的版本,我们就不能使用解UNIT4的功能了,不能使用解UNIT4。
05:16
的功能,比如我们以前的这些测试注解and test,我们再也不能引入解UNIT4的这些测试测试注解了,我们都得使用解UNIT5的,但是呢,如果你还想要兼容你的这个解用DATA4,人家说也有办法,如果呢,我们自己,如果我们自己呢,想要我们的解用DATA5,而且我们还想继续使用解用DATA4,我们需要手动添加对于vintage这个引擎的依赖,但是呢,在spring boot2.3,也就是2.4以前的版本,我们spring boot呢,默认其实还引了兼容spring兼容简用NE4的这个依赖,所以如果我们现在要这么来做,如果我们还想兼容减UNIT5,如果需要继续兼容减UNIT4,兼容减UNIT4需要自行自行引入,引入我们的这个vintage这个引擎,那这个引入呢,那就是人家下边。
06:16
那这个说法,我们把这个下边的这个东西拿来尝了啊,我们就引入它就行了,但我们现在呢,使用的是spring boot2.4,那我们的这个测试类直接就引一个它解用它这个test,如果我们非想要兼容解容LI4,那你就应该把这一堆的东西拿来,放到你的这个po文件里边,在这加上,那这样一写的话呢,它的效果就是兼容减用铁的四的出径。来可以给大家看一下兼容解用it的四,那怎么兼容解unit it的四呢?首先我们就会看到我们以前爱用的一个注解an test,大家注意现在有两个ant test,一个是org解unit,这个呢是解UNIT4版本的,而我们以后要用的单元测试ant test是解UNIT5版本的,是ju API里边嘛,所以呢,如果你想要兼容解UNIT4,你也可以这么来用,我就把它直接注掉了,而我们呢不想兼容,所以我们以后的at test,那这个测试注解都是ju API里边的,非常容易区分,如果是org解unit下的,那就是解UNIT4,如果是ju下的,那就解UNIT5,好,那这是我们对解UNIT5来做了一个简单介绍,那我们该如何使用,我们在前边呢,已经使用了比较多的一些方法,在这个里边呢,特别是我们spring boot整合了解unit以后,Boot spring boot spring boot,我们这个整合解unit。
07:44
以后解用以后,我们的这个测试呢,会非常方便,我们只需要两步,第一步呢,我们在创建项目的时候,人家默认的测试类就写好了,第一步我们来编写我们的测试方法一编写,然后呢测试方法编写测试方法,我们这个方法呢,当然必须使用an解unit ne来标注,但是这个解unit ne呢,一定要注意需要使用,需要使用咱们这个解unit ne5版本的注解版本的注解,然后呢,另外一个我们测试方法编写了完以后呢,我们接下来就来写测试逻辑,而如果我们用的啊容器中的组件只需要O就行了,我们整个解unit的这个类,解unit类具有具有spring的功能,哎,比如我们可以使用at一个autowa这个注解owa注解,它呢,不只具有spring的这个自动装配功能,如我们以前spring容器中能能做的什么功能。其实在这。
08:44
这块呢都有,比如我们来做单元测试的时候呢,我们还可以给它添上数,如果你来标上了一个喘塞式呢,注解,如果我们这个方法呢,是一个插入,而你标了喘塞呢,我们单元测试完毕以后,它还会自动回滚,所以呢这个也是非常有用的,再来比如我们的这个喘塞的,比如我们这个trans塞式呢,标注的咱们这个测试方法,标标注测试方法,然后呢,我们这个测试完成后,然后呢会自动回滚,会自动回滚,所以呢,这个东西在我们在测试期间也非常好用,这是我们对解忧内简单简介,那么下节课呢,就来使用一下我们解忧内五里边的常用功能。
我来说两句