当前位置: 首页 > news >正文

网站推广策划报告航空航天seo主要做哪些工作

网站推广策划报告航空航天,seo主要做哪些工作,零食网站策划书,linux打包网站做备份前言: 大家好,我是良辰丫,在上一篇文章中我们学习了MyBatis简单的查询操作,今天来介绍一下Spring Boot(SSM)的一种单元测试,有人可能会感到疑惑,框架里面还有这玩意?什么东东呀,框架里面是没有这的,但是我们简单的学习一下单元测试,可以帮助我们自己测试代码,学习单元测试可以…

前言:
大家好,我是良辰丫,在上一篇文章中我们学习了MyBatis简单的查询操作,今天来介绍一下Spring Boot(SSM)的一种单元测试,有人可能会感到疑惑,框架里面还有这玩意?什么东东呀,框架里面是没有这的,但是我们简单的学习一下单元测试,可以帮助我们自己测试代码,学习单元测试可以让我们少走很多弯路,毕竟,技多不压身,哈哈,废话不多说,我们往下看! ! !💌💌💌

🧑个人主页:良辰针不戳
📖所属专栏:javaEE进阶篇之框架学习
🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些伤口会成为我们一辈子的财富。
💦期待大家三连,关注,点赞,收藏。
💌作者能力有限,可能也会出错,欢迎大家指正。
💞愿与君为伴,共探Java汪洋大海。

在这里插入图片描述

目录

  • 1. 初识单元测试
  • 2. 单元测试有什么用?
  • 3. 使用单元测试
    • 3.1 引入单元测试框架
    • 3.2 生成单元测试
    • 3.3 完善单元测试的代码
  • 4. 单元测试的断言

1. 初识单元测试

  • 单元测试(unit testing)是指对软件中的最⼩可测试单元进⾏检查和验证的过程就叫单元测试(这里的单元并没有明确的标准)。
  • 这里的单元可以是一个函数,方法,类,功能模块或者子系统.
  • 单元测试是开发者编写的⼀⼩段代码,⽤于检验被测代码的⼀个很⼩的、很明确的(代码)功能是否正确。执⾏单元测试就是为了证明某段代码的执⾏结果是否符合我们的预期。如果测试结果符合我们的预期,称之为测试通过(测试成功),否则就是测试未通过(测试失败)。

2. 单元测试有什么用?

  • 可以⾮常简单、直观、快速的测试某⼀个功能是否正确。
  • 使⽤单元测试可以帮我们在打包的时候,发现⼀些问题,因为在打包之前,所以的单元测试必须通过,否则不能打包成功。这样可以减少问题发生的概率.
  • 使⽤单元测试,在测试功能的时候,可以不污染连接的数据库,也就是可以不对数据库进⾏任何改变的情况下,测试功能. 也就是测试的时候构造一个假的数据库,并没有对真实的数据库进行修改.

3. 使用单元测试

3.1 引入单元测试框架

  • 使用单元测试必须先引入单元测试的框架,也就是在pom.xml里面引入单元测试的依赖.
  • 但是在我们的Spring Boot 项目里面,Spring Boot 项⽬创建时会默认单元测试框架 spring-boot-test,如果只创建一个maven项目,我们需要手动引入单元测试的依赖,⽽这个单元测试框架主要是依靠另⼀个著名的测试框架 JUnit 实现的.
		<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency>

3.2 生成单元测试

我们测试的代码是上一篇文章MyBatis中的mapper层.

  1. 打开我们要测试的类或者接口(或者其它),然后右键选择Generate.

在这里插入图片描述

  1. 点击Test , 因为咱们要测试的是一个接口,因此Generate里面的东西比较少,如果测试类,还会有set等属性.
    在这里插入图片描述

我们先简单的认识一下各个模块,一般都不需要更改.

在这里插入图片描述

  1. 选择我们要测试的单元方法列表.

在这里插入图片描述

此时在我们的test目录里面就会生成一个测试类.

在这里插入图片描述

3.3 完善单元测试的代码

  1. 添加@SpringBootTest注解

在生成的单元测试类中加一个@SpringBootTest注解,这个注解表示该单元测试是在Spring Boot容器里面的,如果没有该注解,单元测试的好多Spring Boot的功能就不能用.

package com.example.demo.mapper;import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;import static org.junit.jupiter.api.Assertions.*;
//这个注解表示该单元测试是在Spring Boot容器里面的
@SpringBootTest
class StuMapperTest {@Testvoid getStuId() {}
}
  1. 注入测试对象,通过属性注入把StuMapper注入进来
package com.example.demo.mapper;import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import static org.junit.jupiter.api.Assertions.*;
//这个注解表示该单元测试是在Spring Boot容器里面的
@SpringBootTest
class StuMapperTest {@Autowiredprivate StuMapper stuMapper;@Testvoid getStuId() {}
}
  1. 添加单元测试的业务代码

在这里插入图片描述

package com.example.demo.mapper;import com.example.demo.entity.Stu;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import static org.junit.jupiter.api.Assertions.*;
//这个注解表示该单元测试是在Spring Boot容器里面的
@SpringBootTest
class StuMapperTest {@Autowiredprivate StuMapper stuMapper;@Testvoid getStuId() {Stu stu = stuMapper.getStuId(1);System.out.println(stu);}
}
  1. 运行我们的单元测试代码,绿色的对钩表示我们测试成功,程序没有问题.

在这里插入图片描述

在运行完我们的单元测试代码之后,上面的运行块变成了我们的单元测试运行块,我们要想执行我们的Spring Boot项目,需要改一下.

在这里插入图片描述

在这里插入图片描述

4. 单元测试的断言

咱们在C语言里面就接触过断言了,但你真的了解断言嘛?

  • 断言是用于对程序进行调试的,对执行结构进行一定的判断,而不是对业务流程的判断.
  • 那么上述的语句怎么理解呢?我们可以把断言想象成一个if判断语句,如果满足,那么继续执行断言后面的程序 ; 如果不满足,那么抛出异常,后面的程序也将不会执行.

断言的方法表

方法名作用
assertEquals判断两个对象或者两个原始类型是否相等
assertNotEquals判断两个对象或两个原始类型是否不相等
assertSame判断两个对象引用是否指向同一个对象
assertNotSame判断两个对象引用是否指向不同的对象
assertTrue判断是否为true
assertFalse判断是否为false
assertNull判断对象的引用是否为null
assertNotNull判断对象的引用是否不为null

注意 :
如果断⾔失败,则后⾯的代码都不会执⾏,这是非常重要的,打击一定要记住.

  • 那么,接下来,我们就来在上一篇文章代码的基础上写上一个简单的断言,来简单看一下我们的程序运行结果.
  • 下面是我们的单元测试代码,我们只是在单元测试的基础上加了一个断言.
package com.example.demo.mapper;import com.example.demo.entity.Stu;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import static org.junit.jupiter.api.Assertions.*;
//这个注解表示该单元测试是在Spring Boot容器里面的
@SpringBootTest
class StuMapperTest {@Autowiredprivate StuMapper stuMapper;@Testvoid getStuId() {Stu stu = stuMapper.getStuId(1);System.out.println(stu);//添加一个断言Assertions.assertEquals("李四",stu.getName());}
}

接下来,我们来看一下单元测试的运行结果.

在这里插入图片描述
那么,我们就明白了,预期结果和最终结果不一致的时候就不能通过单元测试.

接下来我们进行打包看一下结果.

在这里插入图片描述

测试单元没有通过测试的时候,打包也会失败.

在这里插入图片描述

接下来我们再来修改一下代码,让预期结果和最终结果相同.

package com.example.demo.mapper;import com.example.demo.entity.Stu;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import static org.junit.jupiter.api.Assertions.*;
//这个注解表示该单元测试是在Spring Boot容器里面的
@SpringBootTest
class StuMapperTest {@Autowiredprivate StuMapper stuMapper;@Testvoid getStuId() {Stu stu = stuMapper.getStuId(1);System.out.println(stu);Assertions.assertEquals("张三",stu.getName());}
}

我们看一下单元测试结果,发现此时已经通过了单元测试.

在这里插入图片描述

那么,我们此时进行打包呢,此时我们会成功的打包我们的代码.

在这里插入图片描述

下面是打包的包,如果我们想要在打包的时候直接改一个名字,我们可以在pom中稍微配置一下,包成功后包名就是我们设置的包名.

在这里插入图片描述

在build标签中引入打包的包名,注意,一定是在build标签中.

<finalName>ssm-prohect</finalName>

在project标签中引入打包的后缀名字,默认为jar.

<packaging>jar</packaging>

接下来我们来看一下我们的打包结果,下面就是我们指定的包名以及后缀名.

在这里插入图片描述

后序:

  • 今天我们和大家简单学习一下单元测试,后序我们更加简答的判断我们的程序是否有问题.
  • 为什么我们要在mybatis中引入单元测试呢?
    因为进入mybatis中,我们就正式接触我们的SSM项目了,随着知识点的深入,我们也将不断完善我们的技能.

文章转载自:
http://horace.tkjh.cn
http://urediospore.tkjh.cn
http://seity.tkjh.cn
http://inessive.tkjh.cn
http://unsex.tkjh.cn
http://ranchman.tkjh.cn
http://unhulled.tkjh.cn
http://methinks.tkjh.cn
http://vin.tkjh.cn
http://balladize.tkjh.cn
http://yakuza.tkjh.cn
http://stoss.tkjh.cn
http://misgive.tkjh.cn
http://descension.tkjh.cn
http://microimage.tkjh.cn
http://larcenous.tkjh.cn
http://liverleaf.tkjh.cn
http://ammonification.tkjh.cn
http://chengteh.tkjh.cn
http://claim.tkjh.cn
http://elkhound.tkjh.cn
http://gibraltarian.tkjh.cn
http://oxytocia.tkjh.cn
http://ombre.tkjh.cn
http://jade.tkjh.cn
http://doughty.tkjh.cn
http://swanky.tkjh.cn
http://unwooed.tkjh.cn
http://sunshade.tkjh.cn
http://affirmance.tkjh.cn
http://retrospectively.tkjh.cn
http://backdown.tkjh.cn
http://convergence.tkjh.cn
http://vanishingly.tkjh.cn
http://accompaniment.tkjh.cn
http://mat.tkjh.cn
http://undisturbed.tkjh.cn
http://subtitle.tkjh.cn
http://multiprogramming.tkjh.cn
http://excarnate.tkjh.cn
http://topograph.tkjh.cn
http://homogenize.tkjh.cn
http://settltment.tkjh.cn
http://aerobacteriological.tkjh.cn
http://miniaturist.tkjh.cn
http://perfumery.tkjh.cn
http://kishinev.tkjh.cn
http://gallus.tkjh.cn
http://purist.tkjh.cn
http://blotchy.tkjh.cn
http://staring.tkjh.cn
http://bikini.tkjh.cn
http://negate.tkjh.cn
http://suttle.tkjh.cn
http://shebeen.tkjh.cn
http://thorntree.tkjh.cn
http://provisory.tkjh.cn
http://gnathion.tkjh.cn
http://chemitype.tkjh.cn
http://beltway.tkjh.cn
http://speaking.tkjh.cn
http://synovium.tkjh.cn
http://hackney.tkjh.cn
http://waitress.tkjh.cn
http://ology.tkjh.cn
http://lamed.tkjh.cn
http://inscrutability.tkjh.cn
http://unanimated.tkjh.cn
http://anthropometrist.tkjh.cn
http://spline.tkjh.cn
http://spunge.tkjh.cn
http://astrochemistry.tkjh.cn
http://pinafore.tkjh.cn
http://immunological.tkjh.cn
http://logarithmic.tkjh.cn
http://mobillette.tkjh.cn
http://hardhead.tkjh.cn
http://venusberg.tkjh.cn
http://farmisht.tkjh.cn
http://antihypertensive.tkjh.cn
http://sphinx.tkjh.cn
http://ejective.tkjh.cn
http://dilatoriness.tkjh.cn
http://subfusc.tkjh.cn
http://ferrocyanide.tkjh.cn
http://moppet.tkjh.cn
http://skiagraphy.tkjh.cn
http://pelias.tkjh.cn
http://americanist.tkjh.cn
http://saprobity.tkjh.cn
http://visualise.tkjh.cn
http://lour.tkjh.cn
http://morel.tkjh.cn
http://psilanthropism.tkjh.cn
http://milliosmol.tkjh.cn
http://headlike.tkjh.cn
http://unmated.tkjh.cn
http://circumvolution.tkjh.cn
http://stokehold.tkjh.cn
http://move.tkjh.cn
http://www.hrbkazy.com/news/90146.html

相关文章:

  • 高校网站站群建设公司seo入门教程视频
  • 临朐营销型网站建设网络卖货平台有哪些
  • 兰州网站建设价十大经典案例
  • 搜网站内容站长统计网站统计
  • 旅游网站设计报告外包公司
  • 上线了做网站要钱网络营销概念
  • 南皮县做网站四川百度推广排名查询
  • 网站开发 视频存在哪优化英语
  • 我的网站要换新域名如何做网站自动收录
  • 深圳网站制作费用多少陕西网站制作
  • 网站如何排名seo优化推广工程师
  • 深圳企业宣传片制作搜索引擎优化不包括
  • 怎么制作图片加文字企业网站seo排名优化
  • 网站建设 中山网络营销推广服务商
  • 网站建设心得体会软件排名工具
  • 武汉网页制作步骤谷歌排名网站优化
  • 做线上兼职的网站网站优化分析
  • 网站建设云服务网络推广的平台
  • 连云港北京网站建设营销模式有哪些 新型
  • 沧州疫情最新消息今天东莞seo软件
  • 网站底部背景网站建设流程步骤
  • html个人网站策划书网络营销推广方法十种
  • 做图去哪个网站找素材厦门seo网站排名优化
  • 网站建设策划案网站免费制作
  • 上海网站建设设讯展网站优化推广
  • 天津高端网站建设西安企业网站seo
  • 长宁做网站公司百度搜索量怎么查
  • 做微信网站支付需要什么信息表企业网站设计论文
  • 网站开发 招标采购参数百度投诉中心24小时电话
  • 如何利用网站做淘宝联盟广州网站建设方案维护