Junit是单元测试框架工具,在项目开发中是经常用到的,利用JUnit4进行单元测试非常简单方便,所以熟悉Junit是很有必要的。
Junit优点:

  1. 安装使用方便
  2. 可以同时执行多个测试方法
  3. 测试结果直观明了

本文记录Junit使用的基本知识:

 1. 编写测试类2. 使用断言3. 使用suite套件对多个测试类进行批处理

运行环境和工具:

  1. Intellij IEDA
  2. juint-4.10(下载地址)

详细步骤:

  1. 打开IDEA,新建java项目

  2. 在项目中导入junit包
    File->Project Structure->libraries->点击‘+’ ->java->找到下载的junit-4.10->apply->ok
    可以看到junit已经导入项目

  3. 在src中编写源代码(被测试的类及其方法),编写测试类和测试方法,项目目录结构如下:

    被测试类代码:
package main.com.hnust.learnjunit;public class StringOpeator {public String sayHello(String str1,String str2){return str1+str2;}
}

测试类代码及其要求:

package test.junittest;import main.com.hnust.learnjunit.StringOpeator;
import org.junit.Assert;
import org.junit.Test;public class JunitTestOne {/*Test注解标记*/@Test/*固定格式:(public修饰,void返回值,自定义测试方法名称,无参)*/public void test1(){StringOpeator so =new StringOpeator();String str=so.sayHello("Hello","Junit");//断言语法Assert.assertEquals("HelloJunit",str);}
}

在测试类中右键,选择“Run**”,可以看到下面的测试执行结果窗口

原谅绿加勾表示测试结果正确。

4 . 尝试在测试类中多加入几个test方法,也就是多加入几组测试用例,测试运行:可以看到测试结果窗口左侧共有三个测试方法被执行,其中test1测试结果正确test2,test3出现错误,我们可以点击它,然后在右侧看错误原因,可以知道是null空指针异常,说明被测试类的代码有bug,我们可以对其进行空指针处理,重新运行:
可以看到test2测试方法结果正确,同理可以修改代码使得test3测试方法结果也正确。
5. 以上使用到Assert断言机制,所谓断言,就是判断是或者不是,它的作用和优点是什么呢?就是比较预期结果和实际结果,以图形化的方式显示结果,就像上图中,出现原谅绿色勾就表示预期结果和实际结果一样,而出现红色叹号就说明测试用例没通过,就需要改善源代码,避免程序潜在漏洞了。以Assert.assertEquals(“HelloJunit”,str)这行代码为例,”HelloJunit”是预期结果,str是实际结果,assertEqulas方法就是判断这两个字符串是否相同。当然断言的判断方法不止这个,介绍几种常见的断言方法:
assertEquals(expected,actural)
assertSame(),assertNotSame()
–以上两种区别和str1.equals(str2),str1==str2区别一样,前者比较值,后者比较地址。
assertFalse(),assertTrue()
assertNull(actural),assertNotNull(actural)

6.将测试类代码优化,提取出相同的代码放入测试类中,每一个测试方式是一个线程,重复代码使得测试程序占用过多资源

7.除了@Test,其他常用注解的使用
@Before在每个测试方法之前执行
@After在每个测试方法之后执行
@BeforeClass在所有方法执行之前执行
@AfterClass在所有方法执行之后执行

由此可见,Before和After方法执行了三次,分别在三个测试方法前后执行,BeforeClass和AfterClass只执行一次,根据类加载机制,应该是在加载阶段就已经定义,属于类的共有方法,也就是静态方法,所以要使用static关键字修饰。

8 . 使用suite套件对多个测试类进行批处理
先建立多个测试类。。
然后建立一个测试总类
测试总类使用suite套件,格式如下,运行结果如下

这就是Junit基本使用知识,以后在使用过程中再挖掘其更多的功能,熟练使用测试工具对于程序员写出高质量代码,减少程序bug有很大的帮助。

Junit测试工具使用相关推荐

  1. Spring(二)——Junit测试工具、属性的注入方式、注解

    文章目录 1. Junit 测试工具 2. getBean的五种用法 3. 属性的注入方式 4. bean的生存范围和加载策略 5. 自定义属性的注入方式 6. Spring中各类注解的作用 1. J ...

  2. 白盒测试之Junit测试工具的使用

    本篇讲解软件测试技术之Junit测试工具的使用.Eclipse中集成了JUnit,不用安装就可以在项目中测试相关的类,并且可以调试测试用例和被测试类,可以非常方便的编写TestCase.(下载ecli ...

  3. JUnit不好用?也许你可以尝尝这些测试工具

    在我们日常的 TDD 开发中,永远绕不过去的就是要编写测试.而对于一个 Java 程序员,JUnit 似乎是一个不二的选择.它的确是一个十分优秀的工具,在大多数情况下都能够帮助我们完成测试的工作. 但 ...

  4. 【关于IDEA工具中Junit测试无法读取键盘录入的解决办法】

    关于IDEA工具中Junit测试无法读取键盘录入的解决办法 一.问题背景 二.解决办法 一.问题背景 许多初次使用IDEA 这款开发工具的朋友有可能会遇到这样一个问题,在eclipse上可以正常运行的 ...

  5. 行意天下正文 Android Day02-Android中单元测试(junit测试)monkey测试

    Android中junit测试有2种实现方式 第1种:一般Android工程的实现方式 1.在清单文件中添加2项内容 首先在AndroidManifest.xml中加入下面红色代码: <mani ...

  6. 使用ant进行junit测试

    (绿色部分为转) 一.关于Junit 关于为什么junit.jar包不能放到lib/ext目录中: 先谈谈类装载器 java虚拟机和程序都调用ClassLoader类的loadClass的方法来加载. ...

  7. Android JUnit测试说明和实例演示

    什么是 JUnit ? JUnit是采用测试驱动开发的方式,也就是说在开发前先写好测试代码,主要用来说明被测试的代码会被如何使用,错误处理等:然后开始写代码,并在测试代码中逐步测试这些代码,直到最后在 ...

  8. Python中的测试工具

    当我们在写程序的时候,我们需要通过测试来验证程序是否出错或者存在问题,但是,编写大量的测试来确保程序的每个细节都没问题会显得很繁琐.在Python中,我们可以借助一些标准模块来帮助我们自动完成测试过程 ...

  9. 并发测试工具_软件测试工程师都在用哪些测试工具?

    工欲善其事,必先利其器,高效开展软件测试活动,除了测试工程师工作中认真敬业之外,还应有优秀的测试工具辅助其工作.测试工具能提高测试效率,辅助实现测试目标,提升个人的技能. 下面简单介绍一下目前业内常用 ...

最新文章

  1. IT团队之非正式沟通
  2. 制作pytorch数据集
  3. mysql varchar最多可以存多少汉字_MySql的这几个坑你踩过没?真是防不胜防!
  4. 干掉 Postman?测试接口直接生成 API 文档,这工具真香!
  5. 设置组件局部样式原理-属性选择器
  6. 【C# 委托 Lambda表达式】一个简单的例子
  7. 1027 打印沙漏 (20分)——27行代码AC(结构清晰)
  8. Android开发学习——画横线竖线
  9. windows环境下memcache服务器使用经验
  10. MDI窗体关闭问题解决一例
  11. Python实践周 A卷 试题(不印刷)
  12. FFmpeg之视频/图片镜像旋转(十三)
  13. 1992-2021合集 全国大学生数学建模竞赛 国赛历年赛题 题目
  14. 计算机怎么把硬盘分成几个,怎么把硬盘分成整数分区_硬盘分区整数对照表
  15. 系统集成项目管理之何为系统集成
  16. [含论文+答辩PPT+任务书+源码等]javaweb户籍户口管理系统
  17. 固态硬盘扩展分区合并主分区方法
  18. Android 工具类
  19. 凤凰os可以运行linux软件吗,手机玩游戏不爽?来试试Phoenix OS凤凰系统
  20. 豪江智能更新招股书:2021年净利润、毛利率双降,表现不及同行

热门文章

  1. Excel如何实现隔一行或隔几行求和
  2. WEB端代码文本编辑器ACE的使用指南(附代码)
  3. 生命游戏小游戏开发报告
  4. phpstromintellij ideawebstrompystrom 2018最新版3.5版破解教程
  5. [9]-Administration-Tuning Presto Properties Reference
  6. remote: Incorrect username or password ( access token ) fatal: Authentication failed for
  7. vue移除事件绑定 Orz
  8. over(Partition by...) 详细用法
  9. 爱拼车猝死:BAT阴影下互联网创业如何进行?
  10. Xmind 2023中文专业版下载,全新架构升级!