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

好的建网站公司大品牌网站建设

好的建网站公司,大品牌网站建设,网站建设相关ppt,孝义网站开发前言: 大家好,我是良辰丫,在上一篇文章中我们学习了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 实现的. dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency3.2 生成单元测试 我们测试的代码是上一篇文章MyBatis中的mapper层. 打开我们要测试的类或者接口(或者其它),然后右键选择Generate. 点击Test , 因为咱们要测试的是一个接口,因此Generate里面的东西比较少,如果测试类,还会有set等属性. 我们先简单的认识一下各个模块,一般都不需要更改. 选择我们要测试的单元方法列表. 此时在我们的test目录里面就会生成一个测试类. 3.3 完善单元测试的代码 添加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() {} }注入测试对象,通过属性注入把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() {} }添加单元测试的业务代码 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);} }运行我们的单元测试代码,绿色的对钩表示我们测试成功,程序没有问题. 在运行完我们的单元测试代码之后,上面的运行块变成了我们的单元测试运行块,我们要想执行我们的Spring Boot项目,需要改一下. 4. 单元测试的断言 咱们在C语言里面就接触过断言了,但你真的了解断言嘛? 断言是用于对程序进行调试的,对执行结构进行一定的判断,而不是对业务流程的判断.那么上述的语句怎么理解呢?我们可以把断言想象成一个if判断语句,如果满足,那么继续执行断言后面的程序 ; 如果不满足,那么抛出异常,后面的程序也将不会执行. 断言的方法表 方法名作用assertEquals判断两个对象或者两个原始类型是否相等assertNotEquals判断两个对象或两个原始类型是否不相等assertSame判断两个对象引用是否指向同一个对象assertNotSame判断两个对象引用是否指向不同的对象assertTrue判断是否为trueassertFalse判断是否为falseassertNull判断对象的引用是否为nullassertNotNull判断对象的引用是否不为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标签中. finalNamessm-prohect/finalName在project标签中引入打包的后缀名字,默认为jar. packagingjar/packaging接下来我们来看一下我们的打包结果,下面就是我们指定的包名以及后缀名. 后序: 今天我们和大家简单学习一下单元测试,后序我们更加简答的判断我们的程序是否有问题.为什么我们要在mybatis中引入单元测试呢? 因为进入mybatis中,我们就正式接触我们的SSM项目了,随着知识点的深入,我们也将不断完善我们的技能.
http://www.hkea.cn/news/14357186/

相关文章:

  • 购物网站的加工说明网页设计作品点评
  • 沈阳做网站有名公司有哪些wordpress cms系统
  • 网站建设宣传软文范例优秀毕业设计网站设计
  • 电商网站怎么做seo优化攻城霸业手游下载
  • 个体户做网站与公司好c 做商务网站方便吗
  • 长沙建站挺找有为太极大气dede织梦企业广告网络公司工作室网站模板源码
  • jquery 选择 网站专业图书商城网站建设
  • 报纸门户网站建设方案怎么建立一个网址
  • 有什么设计网站一套vi设计大概多少钱
  • php网站建设情景国外网站 设计
  • 柳州网站建设哪家便宜国内知名品牌设计公司
  • 网站建设安全标准青海网站开发
  • 太原网站建设的公司深圳建网
  • 箱包网站设计美妆网站开发背景
  • 建设工程信息在什么网站发布网站源码大全最新
  • 中英文网站多少钱租用微信做拍卖网站
  • 诸城哪有做公司网站和的wordpress手机编辑器
  • 贵州网站建设seo优化南京网
  • 丰台青岛网站建设迁安做网站中的cms润强
  • 汽车专业科技网站建设平台电商有哪些
  • 湘潭免费网站建设西地那非片能延时多久每次吃多少
  • 四川省网站建设注册帐号
  • 网站游戏怎么制作成都网站设计 创新互联
  • 双语版网站案例寮步做网站公司
  • 家乡网站建设做电气设计有哪些好的网站
  • 徐州建筑网站了解网站开发的一般过程
  • ps建设此网站的必要与可行性设计人才网站
  • 如何检查网站是否做cdn加速网站建设收费标准不一
  • 做网站的是什么职业wordpress 好seo吗
  • 织梦新手网站建设青岛做公司网站的多吗