JUnit4 单元测试框架
序言
刚学Java的时候就听说过JUnit了,单元测试框架,很好用的测试框架,JUnit测试框架将测试更加便捷和容易,编写测试代码也是简单、明了,功能强大。今天给大家简单分享一下最新JUnit4的使用 。
导入jar包
在集成开发环境中导入相应jar包:junit-4.12.jar、hamcrest-core-1.3.rc2.jar、hamcrest-library-1.3.rc2.jar。如果只导入第一个jar的话就不能启动测试程序会报错,报错及几个包的关系详见我的博客:JUnit4单元测试报错。在此,给大家提供一下这几个jar包的免费下载链接:
junit-4.12.jar下载
hamcrest-library-1.3.rc2.jar下载
hamcrest-core-1.3.rc2.jar下载
导入方法看如下截图就明白了:
新建测试用例
右击包名,点击新建,或者新建里的others,选择JUnit test case,如下图所示:
接下来,给测试类起名字和选择要测试的类,如下图所示:
然后点击【Next】,选择要被测试类中的测试方法,如下图所示:
最后新建完成,如下(第一个方法是生成的方法,后边几个都是我自己手动写上去的):
- package JUnitTest;
- import static org.junit.Assert.*;
- import org.junit.After;
- import org.junit.AfterClass;
- import org.junit.Before;
- import org.junit.BeforeClass;
- import org.junit.Ignore;
- import org.junit.Test;
- public class TestJava {
- @Test
- public void testMain() {
- fail("Not yet implemented");
- }
- @Test
- public void testTest() {
- System.out.println("@Test");//调用自己要测试的方法
- }
- @Test
- public void testAssert() {
- assertEquals("chenleixing","chenlei");
- }
- @Test(timeout=1)
- public void testTimeout() {
- System.out.println("超时测试");
- }
- @Before
- public void testBefore(){
- System.out.println("@Before");
- }
- @BeforeClass
- public static void testBeforeClass(){//必须为静态方法
- System.out.println("@BeforeClass");
- }
- @After
- public void testAfter(){
- System.out.println("@After");
- }
- @AfterClass
- public static void testAfterClass(){//必须为静态方法
- System.out.println("@AfterClass");
- }
- @Ignore
- public void testIgnore(){
- System.out.println("@Ignore");
- }
- }
JUnit4注解解释
1. @Test : 测试方法,测试程序会运行的方法,后边可以跟参数代表不同的测试,如(expected=XXException.class) 异常测试,(timeout=xxx)超时测试
2. @Ignore : 被忽略的测试方法
3. @Before: 每一个测试方法之前运行
4. @After : 每一个测试方法之后运行
5. @BeforeClass: 所有测试开始之前运行
6. @AfterClass: 所有测试结束之后运行
fail 方法是指测试失败
assertEquals 测试2个参数是否相等,具体参考相应API
更多方法可参考相应API文档(博文末尾分享下载连接给大家)
运行测试用例
把自己的测试代码写在@Test注解后者其他注解的方法里边,点击运行新建的测试用例,结果如下:
带差号的是说明测试失败的,testMain()和testAssert()肯定会失败,对号的是测试成功的。
控制台输出的结果如下:
- <span style="font-size:18px;">@BeforeClass
- @Before
- 超时测试
- @After
- @Before
- @After
- @Before
- @Test
- @After
- @Before
- @After
- @AfterClass</span>
JUnit4 单元测试框架相关推荐
- junit4 单元测试框架_超越JUnit –测试框架的替代方案
junit4 单元测试框架 JUnit是事实上的Java单元测试框架,但是可能有一些新的(不是那么新的)框架可以用于Web开发. 在采用之前可能要问自己的问题: 它们是否快速,容易开发并因此成本低廉? ...
- 浅谈java单元测试框架junit4/5
0 前言 junit是一个开源的Java语言的单元测试框架.目前junit主要有版本junit3,junit4和junit5.因在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有 ...
- JUnit4单元测试、JUnit4使用详解、assertThat用法
2019独角兽企业重金招聘Python工程师标准>>> 一.JUnit基本介绍 1.简介 JUnit是一个开放源码的.Java语言的单元测试框架,用于测试期望结果的断言(Assert ...
- IDEA中使用JUnit5(单元测试框架)
JUnit单元测试框架由Erich Gamma和Kent Beck编写的一个回归测试框架(Regresion Testing Framework),主要用于Java语言程序的单元测试,目前使用的主流版 ...
- Java单元测试框架与实践(Junit5 + Mockito)
Java单元测试框架与实践 本文首先在理论上归纳了单元测试在宏观和微观层面要遵循的基本原则,以及测试覆盖率的要求和评价维度.然后具体阐述了笔者实战中总结的基于Junit + Mockito 的单元测试 ...
- 详解介绍JUnit单元测试框架(完整版)
(一)JUnit介绍 目录 (一)JUnit介绍 1.什么是单元测试? 2.什么是单元测试框架? 3.什么是JUnit? (二)JUnit 安装 1.IntelliJ IDEA 安装 Junit 2. ...
- 单元测试框架之Junit
关于Junit,前面也有一篇文章做了简要概述,这次接着前面没讲到的地方展开 点击:测试方法之JUnit单元测试 一.Junit简介 1. 什么是Junit JUnit是一个 Java 编程语言的单元测 ...
- JUnit4单元测试
我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的.但是,我们同时应该确保每一个函数 ...
- JUnit5单元测试框架的使用教程与简单实例
1.JUnit5的使用教程 1.1 简介 JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最 ...
最新文章
- SpringBoot多线程环境下,解决多个定时器冲突问题
- 报告:100家AI初创公司榜单 这五大趋势不得不看!
- 网络和计算机管理制度,网络和计算机使用管理制度
- STM32开发 -- 状态机与状态切换逻辑
- percona-toolkit 之 【pt-slave-delay】说明
- html中加入超链接方式的汇总
- python中strip、startswith、endswith
- Q-learning家族【强化学习】
- Javascript UserAgent 获取平台及浏览器信息
- 《程序设计技术》第一章例程
- linux--kubectl命令和docker命令
- Spark SQL 用户自定义函数UDF、用户自定义聚合函数UDAF 教程(Java踩坑教学版)
- VMware vSphere Update Manager 5.0
- table函数--Matplotlib
- 计算机职高会考知识,2013年金华市职高会考各科目考纲汇总.doc
- SARscape手动下载30mDEM(SRTM1 V3)切片数据-[EC: 40008]
- [py] 统计输入字符串中的单词个数及单词的平均长度
- 删除集合中特定元素的几种情况
- 如何准备面试?“-80,阿里Java开发面试解答
- 查看电脑核数和线程数
热门文章
- 杉德支付php代码实现_[转]PHP语言开发Paypal支付demo的具体实现
- java会变得更简单吗_spring 第一篇(1-1):让java开发变得更简单(下)
- AcWing2022寒假每日一题(1 月 2 日 ~ 1 月 6 日)
- 第 11 章 进度条媒体对象和 Well 组件
- 关于电机编码器的知识汇总,都在这里了!
- 九月开始复习计算机考研,2019计算机考研复习不要盲目开始
- 小程序拼团商城系统开发
- ClickHouse偶现 读取数据超时
- 进程双向通信c语言代码,进程间通信——管道(示例代码)
- 一个合格的java工程师应该必备的能力