Junit入门到掌握-1-JUnit概述

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

本篇作为Junit的概述,主要了解什么是Junit,Junit的基本特征,Junit是如何工作,以及什么是单元测试,和Junit的历史背景。

1.什么是Junit

JUnit是Java语言的一个单元测试框架,这个就是Junit的核心特点。

在Java开发人员写好了模块代码之后,它们可以不使用Junit来写单元测试用例,例如,可以写多个带main方法的测试类。但是如果使用Junit,极大方便开发人员写单元测试用例的速度,简化了单元测试代码。

2.看一个Junit测试代码

package overview;

import static org.junit.Assert.assertEquals;

import org.junit.Test;

public class Test01 {
	
	@Test
	public void test1() {
		assertEquals(5, "hello".length());
	}
}

上面代码就是测试“Hello”这个字符串长度是不是5. 如果是,运行这个单元测试就是成功,出现绿色的状态条,如果断言失败,就是红色的状态条。

上面代码把5改成6,再次运行。

这个代码如何运行,如何在Eclipse上创建也给项目来练习Junit,我后面文章详细介绍。

3.JUnit主要功能

1.断言(英文叫Asserts)
2.测试启动和关闭(Test setup and teardown)
3.异常测试
4.测试套件(Test Suites)
5.参数化测试(Parameterized Test)
6.假设(Assumptions)
7.规则(Rules)
8.理论(Theories)
9.和其他流行的构建系统的集成

4.JUnit运行原理

下面这张图解释JUnit是如何工作的

上面的Subject under test一般就是值被测试对象,也就是Java类文件。

5.什么是单元测试

作为测试,我们知道单元测试,模块测试,集成测试,系统测试。最底层就是单元测试,在Java项目中,一个最小的单元就是一个class文件,但是在单元测试中,最小的单元是一行代码。简单来说,在Java中,就是测试一个class文件中的每个方法中的每行代码覆盖到。为了达到这种覆盖,我们有很多覆盖手段,例如,分支覆盖,路径覆盖,异常覆盖等。

6.历史

关于JUnit的历史,不得不提一个人物,Kent Beck,他是SUnit框架的创造者,然后其其他一个共同开发出的JUnit,他同时也是极限编程概念的提出者,目前应该还在facebook公司,想了解这更多这个人物,请看wiki介绍https://en.wikipedia.org/wiki/Kent_Beck

以下是JUnit发展的时间轴

猜你喜欢

转载自blog.csdn.net/u011541946/article/details/94553045