首先,maven项目中引入依赖

<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope>
</dependency><dependency><groupId>org.hamcrest</groupId><artifactId>hamcrest-library</artifactId><version>1.3</version>
</dependency>

在test目录下建立同要测试的类同级的目录,创建测试的类

如下:

1、被测试的类:

public class Add {int add(int a, int b){return a + b;}
}

2、测试类

public class AddTest {@Testpublic void add(){int a = new Add().add(3,5);System.out.println(a);}
}

进行单元测试时,我们编写完测试类,右键执行即可。

另外,单元测试常常伴随着一些常用的方法,如下:

 // 当前类初始化之前执行,仅执行一次@BeforeClasspublic static void beforeClass() throws Exception {System.out.println("BeforeClass");}// 当前类初始化之后执行,仅执行一次@AfterClasspublic static void afterClass() throws Exception {System.out.println("AfterClass");}// 每一个@Test方法之前都执行@Beforepublic void setUp() throws Exception {System.out.println("测试开始");}// 每一个@Test方法之后都执行@Afterpublic void tearDown() throws Exception {System.out.println("测试结束");}// Ignore表示忽视的测试方法@Ignore@Testpublic void Test(){int n = 5;String str = "cty";double d = 3.0d;}//在junit4中,引入了一个新的断言assertThat,以下是它的使用方法@Testpublic void assertTest() {int a = new Add().add(3, 5);/**数值匹配**///测试变量是否大于指定值assertThat(a, greaterThan(50));//测试变量是否小于指定值assertThat(a, lessThan(100));//测试变量是否大于等于指定值assertThat(a, greaterThanOrEqualTo(50));//测试变量是否小于等于指定值assertThat(a, lessThanOrEqualTo(100));//测试所有条件必须成立assertThat(a, allOf(greaterThan(50), lessThan(100)));//测试只要有一个条件成立assertThat(a, anyOf(greaterThanOrEqualTo(50), lessThanOrEqualTo(100)));//测试无论什么条件成立(还没明白这个到底是什么意思)assertThat(a, anything());//测试变量值等于指定值assertThat(a, is(100));//测试变量不等于指定值assertThat(a, not(50));/**字符串匹配**/String url = "http://www.taobao.com";//测试变量是否包含指定字符assertThat(url, containsString("taobao"));//测试变量是否已指定字符串开头assertThat(url, startsWith("http://"));//测试变量是否以指定字符串结尾assertThat(url, endsWith(".com"));//测试变量是否等于指定字符串assertThat(url, equalTo("http://www.taobao.com"));//测试变量再忽略大小写的情况下是否等于指定字符串assertThat(url, equalToIgnoringCase("http://www.taobao.com"));//测试变量再忽略头尾任意空格的情况下是否等于指定字符串assertThat(url, equalToIgnoringWhiteSpace("http://www.taobao.com"));/**集合匹配**/List<User> user = new ArrayList<User>();user.add(user1);user.add(user2);//测试集合中是否还有指定元素assertThat(user, hasItem(user1));assertThat(user, hasItem(user2));/**Map匹配**/Map<String, User> userMap = new HashMap<String, User>();userMap.put(user1.getUsername(), "张三");userMap.put(user2.getUsername(), "李四");//测试map中是否还有指定键值对assertThat(userMap, hasEntry(user.getUsername(), "张三"));//测试map中是否还有指定键assertThat(userMap, hasKey(user.getUsername()));//测试map中是否还有指定值assertThat(userMap, hasValue(user));}

可根据不同功能进行使用和改造。比如如果需要记录程序执行时间,就可以在before和after上加上时间记录。

springboot项目使用junit4进行单元测试,maven项目使用junit4进行单元测试相关推荐

  1. springboot学习笔记一(从maven项目到springboot)

    idea版本:2021.1.3 jdk版本:1.8.0.221 maven版本:3.6.3 从maven项目到springboot项目 新建一个maven项目,得到如下结构 项目结构如下: --ide ...

  2. grails 转为java_创建一个grails项目,然后转成maven项目

    记录第一次练手项目实战: 注意:要先安装grails ,maven,才能运行.我的grails版本是2.5.4  maven版本是3.3.9 groov 版本是2.4.7   Java版本是1.8.0 ...

  3. maven项目打包插件:将maven项目打包成一个可执行的jar(瘦jar)

    通过maven-dependency-plugin插件和maven-jar-plugin来组合,maven-jar-plugin其实是maven项目自带的,在pom文件里面不依赖也是可以的,但是我需要 ...

  4. 用idea建立jsp项目_用idea创建maven项目,配置tomcat详解

    用idea创建maven项目,配置tomcat详解,电脑上得有jdk1.7,或者1.8,然后就是maven3.x吧,再有就是tomcat7以上 下面就直接开始看图啦: 这个我刚刚开始没注意细看,原来w ...

  5. Java初级项目学习第一讲:Maven项目构建

    Maven项目构建 一.什么是Maven Maven这个单词来自于意第绪语(犹太语),意为知识的积累.Apache Maven是一个(特别是Java编程)项目管理及自动构建工具,由Apache软件基金 ...

  6. IDEA2022.1创建maven项目,规避idea2022新建maven项目卡死,无反应问题

    idea 2022的新建项目和旧的不一样 选择maven archetype 输入 name: (项目名称) location: (项目文件路径) jdk:1.8 catalog:(目录),选择int ...

  7. idea导入项目时无法识别出maven项目

    在使用idea导入maven项目的时候,有时会出现无法识别maven项目的情况.尤其是在多路径下的maven项目. 1.如图:空空如也,找不到maven项目 2.解决办法:回到上一步,点击勾选Sear ...

  8. java项目target文件夹_idea2019 maven项目main\java\resources文件夹下配置文件无法打包到target/classes中...

    基于maven的一个springboot项目,启动报错,大致意思是缺少对于数据库连接信息的配置 可是我已经在application.yml中配置好了呀(都是复制粘贴,为啥报错呢,哈哈 此时想到配置会不 ...

  9. IntelliJ IDEA导入Maven之后强制刷新项目解决无法识别为Maven项目的问题

    先点击左下角按钮以显示Maven Project 再点击右侧Maven Project 点击刷新按钮,当然也可以点击加号选择pom.xml文件. 最后是等待项目的更新. 转载于:https://www ...

  10. Intellij IDEA创建的Web项目配置Tomcat并启动Maven项目

    点击如图所示的地方,进行添加Tomcat配置页面 弹出页面后,按照如图顺序找到,点击+号 tomcat Service -> Local 注意,这里不要选错了哦,还有一个TomEE Servic ...

最新文章

  1. mariadb 没有mysql表_数据未插入mySQL表(MariaDB)
  2. 结构体变量和结构体指针变量作为函数参数传递问题
  3. 为什么国内流行hbase,国外反而多用cassandra?
  4. 广度优先搜索(BFS)——马的遍历(洛谷 P1443)
  5. 一文看懂什么是MQ消息队列
  6. modulenotfounderror python_python程序在命令行执行提示ModuleNotFoundError: No module named 'XXX' 解决方法...
  7. git 裁切_GitHub - taiyang0725/PicCrop: 图片裁剪的工具类,基于uCrop封装,使用十分便捷...
  8. 关于百度地图js api的getCurrentPosition定位不准确的解决方法
  9. RGB与YUV的转换
  10. 日语专业双学位选计算机,湖北师范大学计算机科学与技术(日语双学位)专业2015年在湖北理科高考录取最低分数线...
  11. 高亮显示搜索的关键词(二)
  12. Android-EditText属性大全
  13. 利用NMDS对药物处理下肠道菌群微生物群落多态性分析
  14. JavaScript推箱子游戏开发笔记
  15. 直播 | Apache Kylin × Apache Hudi Meetup
  16. 安卓点击图片跳转界面_详解拳头注册 + 安卓LOL试玩教程
  17. 《MySQL安装流程详解》及《MySQL安装一直失败,重新安装显示已安装》
  18. JSON入门(Understanding JSON)
  19. 与鲨共舞:当AI遇见海洋杀手
  20. 生成网络论文阅读:DDPM(一):Denoising Diffusion Probabilistic Models论文概述

热门文章

  1. IDEA设置单个文件、单个包、单个项目的编码格式
  2. Linux shell 学习笔记(8)— 使用结构化命令(if-then 语句、数值比较、字符串比较、文件比较、case 语句)
  3. 【置顶】利用 NLP 技术做简单数据可视化分析教程(实战)
  4. 深度学习学习指南-工具篇
  5. python重难点之装饰器详解
  6. NLP自然语言处理工具小结
  7. Java基本数据之间的类型转换
  8. AI人工智能天机芯芯片
  9. Technology Document Guide of TensorRT
  10. 【其他】将幕布文章OPML转换为Markdown的方法