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

深圳网站建设的费用关键词搜索工具app

深圳网站建设的费用,关键词搜索工具app,网页设计与网站建设期末考试题,做汽车保养的网站Hi I’m Shendi 为什么使用Junit单元测试?Junit的详解 Junit简介 Junit是一个Java语言的单元测试框架。 单元测试是一个对单一实体(类或方法)的测试 JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression test…

Hi I’m Shendi


为什么使用Junit单元测试?Junit的详解



Junit简介

Junit是一个Java语言的单元测试框架。

单元测试是一个对单一实体(类或方法)的测试

JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。



为什么要用Junit?

在我刚接触到Junit时有这样一个问题,进行测试的话可以使用main函数,那为什么要使用junit?

找不到答案,于是后面的开发我都没有使用到单元测试,但用的人还是非常多的,于是今天准备深入了解一下


总结,有以下几点

  • 比main代码少一点
  • 断言测试预期结果
  • 可单个多个运行,多个共享数据
  • 有很多注解,可以在之前…之后运行

主要是比较规范和方便吧,main写完测试完后基本上都直接删掉了,而这个不用



使用


Maven的引入就不列出了(SpringBoot都自带导入),这里列出Eclipse直接配置Junit

Eclipse内点击项目,按Alt+Enter(或右键Properties),选择 Java Build Path,选择Libraries,选择Classpath,点击Add Library

在这里插入图片描述


Next

在这里插入图片描述

Finish即可


接下来就可以非常简单的进行单元测试了


在想要运行的函数上加上 @Test 注解,鼠标点击函数名,右键 RunAs - Junit Test 即可运行

在这里插入图片描述


运行后会在Junit选项卡中显示结果

在这里插入图片描述


绿勾代表运行正常,这一次将三个函数都直接运行了


运行单个函数

如果需要运行单个函数可以用鼠标点击函数名,当输入的光标在函数名上时右键运行即可

如果不行的话可以打开 outline 选项卡,window -> Show Views -> Outline

在这里插入图片描述

右侧选中需要运行的函数,右键运行即可



Assert类

用来断言测试,基本上都是静态函数

例如有一个函数用来处理xxx,我们知道函数返回1是正确结果,于是可以这样写

在这里插入图片描述

上面预期和实际不符,条条是红色的,且 Failure Trace 下面显示了错误信息和行数


assert就是一个if的封装,一般使用,可能有问题用if,不应该有问题的时候用assert


Assert还有很多函数,例如判断是否为true或者false,下面列出一些

  • fail([String])
    • 代表失败,可以有一参数为错误信息
  • assertSame([String],Object expected,Object actual)
    • 对象的内存地址是预期的内存地址
  • assertNotSame
    • 与assertSame相反
  • assertEquals([String],Object expected,Object actual)
    • 值是预期值
  • assertNotEquals
    • 与assertEquals相反


注解

除了 @Test 注解之外,还有一些其他的注解,如下

注解描述
@Ignore被忽略的测试方法,加上之后,不执行此段代码,与其他注解一起使用
@Before在每一个标注了 @Test 的函数执行之前执行,(有一个@Test就执行一次)
@After在每一个标注了 @Test 的函数执行之后执行,(有一个@Test就执行一次)
@BeforeClass必须是静态函数,所有测试函数执行之前执行(包括Before),只执行一次
@AfterClass必须是静态函数,所有测试函数执行之后执行(包括After),只执行一次


SpringBoot整合Junit

新建SpringBoot项目时会自带Junit,也可以手动加入依赖

<!-- springboot的测试框架,里面有对junit4的依赖 -->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>
</dependency>

项目会有 src/test/java 文件夹供存放测试文件


在测试类上加上以下注解

  • @RunWith(SpringRunner.class)
  • @SpringBootTest

import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;@RunWith(SpringRunner.class)
@SpringBootTest
class DemoApplicationTests {@Autowired DemoControl dc;@Testpublic void test() {System.out.println(dc.test());}}

@RestController
public class DemoControl {public String test() {return "test";}}

单元测试运行即可看到结果

在这里插入图片描述


单元测试对事务的影响

如果在使用了@Transactional注解,那么在单元测试中的事务默认回滚。需要在方法上添加 @Rollback(value=false) 才会提交事务。

在测试中,处于对数据库的保护考虑,请使用@Rollback(value=true) 显式的回滚




END

http://www.yidumall.com/news/89826.html

相关文章:

  • 如何在网站插做视频武汉大学人民医院光谷院区
  • 网站建设运营的灵魂是什么网络推广代理怎么做
  • dream8网站建设教程视频哪个app可以找培训班
  • 建设网站选多大的空间合适制作网页完整步骤
  • 高端网站建设 企业网站建站百度云搜索引擎入口官方
  • 南县网站制作建什么网站可以长期盈利
  • 课程精品网站开发泉州seo外包
  • 网站建设资料2345网址导航下载桌面
  • 苏州网站推广怎么免费创建个人网站
  • delphi7 网站开发郑州搜索引擎优化公司
  • 厦门网站建设价格xm37推广发帖网站
  • 东莞在线网站制作平台百度推广开户联系方式
  • 哪个酒店网站做的好看的论坛推广网站
  • 怎么样做网站视频南京怎样优化关键词排名
  • 法院门户网站建设8大营销工具
  • 做建材上哪个网站比较好品牌营销策划方案案例
  • 链家准备做贝壳网站江苏网站建设推广
  • 网站域名注册基本流程种子库
  • 济南做html5网站百度seo培训要多少钱
  • 公司网站上荣誉墙怎么做百度seo软件首选帝搜软件
  • 给别人做时时彩网站违法不网络营销推广计划
  • 酒店网站的开发及其设计方案seo推广知识
  • web前端开发职业技能等级证书seo如何提高排名
  • 东莞比较出名的网站建设公司淘宝网页版
  • 为什么找别人做网站石家庄seo网络优化的公司
  • 网站开发用qq登录推广普通话宣传海报
  • 建设网站好公司哪家好网站优化seo是什么
  • 如何做微信商城网站建设广州番禺最新发布
  • 广州网站推广哪家强西安seo黑
  • 电商网站开发流程文档专门做推广的公司