文档章节

Junit单元测试

JacksonMike
 JacksonMike
发布于 11/15 11:32
字数 627
阅读 10
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

什么是软件测试

软件测试是程序的一种执行过程, 目的是尽可能发现并改正被测试软件中的错误, 提高软件的可靠性。

测试分类

按照是否知道源代码

  • 黑盒测试: 不关心具体的逻辑代码, 只测功能
  • 白盒测试: 测试逻辑代码
  • 灰盒测试: 介于黑盒和白盒之间

从软件开发的过程

  • 单元测试: Unit Testing
  • 集成测试: Integrated Testing
  • 系统测试: System Testing

根据测试的次数

  • 冒烟测试
  • 压力测试

Junit单元测试

Junit是一个基于Java语言的单元测试框架, 是白盒测试的一种技术。

演示测试1

public class Operation {
	public int add(int x,int y) {
		return x^y;
	}

	public int sub(int x,int y) {
		return x-y;
	}
}

public class OperationTest {

	@Test
	public void testAdd() {
		Operation operation=new Operation();
		int result=operation.add(20, 30);
		System.out.println(result);
		Assert.assertEquals(50, result);
	}
	@Test
	public void testSub() {
		Operation operation=new Operation();
		int result=operation.sub(10,5);
		System.out.println(result);
	}
}

演示测试2

有一个学生类StudentDao, 添加测试类

public class StudentDao {
	public void add() {
		System.out.println("添加学生");
	}
	public void update() {
		System.out.println("更新学生");
	}

}

public class StudentDaoTest {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
		System.out.println("测试类执行之前。。。。。。。。。");
	}

	@AfterClass
	public static void tearDownAfterClass() throws Exception {
		System.out.println("测试类执行之后。。。。。。。。。");
	}

	@Before
	public void setUp() throws Exception {
		System.out.println("方法之前执行........");
	}

	@After
	public void tearDown() throws Exception {
		System.out.println("方法之后执行........");
	}

	@Test
	public void test() {
		System.out.println("测试方法");
	}
	@Test
	public void test2() {
		System.out.println("测试方法2");
	}

  	@Test
	public void testAdd() {
		StudentDao studentDao=new StudentDao();
		studentDao.add();
	}
	@Test
	public void testUpdate() {
		StudentDao studentDao=new StudentDao();
		studentDao.update();
	}

}

注意

  • 测试方法上必须使用@Test进行修饰
  • 测试方法必须使用public void 进行修饰,不能带任何的参数
  • 新建一个源代码目录来存放我们的测试代码,即将测试代码和项目业务代码分开
  • 测试类所在的包名应该和被测试类所在的包名保持一致
  • 测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖
  • 测试类使用Test作为类名的后缀(不是必须)
  • 测试方法使用test作为方法名的前缀(不是必须)

© 著作权归作者所有

上一篇: JDBC的简介
下一篇: MySQL多表查询
JacksonMike
粉丝 0
博文 35
码字总数 80937
作品 0
武汉
后端工程师
私信 提问
JUnit 4.12 发布,Java 单元测试框架

JUnit 4.12 发布,此版本支持命令行选项;改进了断言,异常测试,超时测试等等测试方法。更新内容请见发行说明。 此版本现已提供下载: junit-4.12-javadoc.jar junit-4.12-sources.jar juni...

唐伟
2014/12/08
11K
4
JUnit 4.13 Beta 1 发布,Java 单元测试框架

JUnit 4.13 版本的首个 Beta 版已发布。 JUnit 是一个 Java 语言的单元测试框架。它有自己的 JUnit 扩展生态圈,多数 Java 开发环境都已经集成了JUnit 作为单元测试的工具。JUnit 测试是程序...

局长
2018/11/27
773
4
JUnit 5.2.0 发布,Java 单元测试框架

JUnit 5.2.0 发布,JUnit 5.2.0 = Platform 1.2.0 + Jupiter 5.2.0 + Vintage 5.2.0,此次更新包括构建工具的增强、参数化测试的改进等。 更新信息如下: 构建工具功能增强以支持新的模块化体...

h4cd
2018/05/04
1K
2
JUnit 4.9 Beta3 发布,Java单元测试框架

JUnit 似乎很久没发布新版本了,这是 JUnit 4.9 的第三个beta测试版,详细的改进内容请看这里。 这里有关于新版本中 Rules 的介绍:http://java.dzone.com/articles/rules-junit-49-beta-3 ...

红薯
2011/07/26
1K
2
Android、JUnit深入浅出(一)——JUnit初步解析

Android、JUnit深入浅出(一)——JUnit初步解析 Android SDK 1.5已经将JUnit包含进来了,但是一直没有去深入了解,以前在使用一些C++的开源库中学习过与CPPUnit,简要分析过其主要框架,如下...

庸人谷
2012/12/26
389
0

没有更多内容

加载失败,请刷新页面

加载更多

采购单品汇总_华南.xlsx

import pandas as pdimport matplotlib.pyplot as pltimport matplotlib as mp1mp1.rcParams["font.family"] = "STFangsong"# 加载《销售》表数据df1 = pd.read_excel(r"C:\Us......

龙玉滕
今天
5
0
OSChina 周五乱弹 —— 一次四千 要4次还能多给一千

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @这次装个文艺青年吧 :#今日歌曲推荐# 分享金志文的单曲《远走高飞》: 版权又回来了现在听歌得好几个软件 《远走高飞》- 金志文 手机党少年们...

小小编辑
今天
7
0
Spring Cloud Alibaba 实战(十) - Spring Cloud GateWay

> 本文主要内容是:为什么要使用网关,整合Gateway,Gateway核心学习:Route,Predicate,Filter,最后使用Gateway聚合微服务请求 先总结至此的架构 1 网关的价值 不使用网关行嘛? 各个请求直接打在...

JavaEdge
今天
4
0
【CKB.DEV 茶话会】第二期:聊聊 CKB 钱包和 Nervos DAO 全流程

CKB.DEV 茶话会第二期:聊聊 CKB 钱包和 Nervos DAO 全流程 为了鼓励更多优秀的开发者和研究人员参与到 CKB 的开发和生态建设中去,我们希望组织一系列 CKB Developer Seminar(CKB.DEV 茶话...

NervosCommunity
今天
4
0
聊聊rocketmq的HAClient

序 本文主要研究一下rocketmq的HAClient HAClient rocketmq-all-4.6.0-source-release/store/src/main/java/org/apache/rocketmq/store/ha/HAService.java class HAClient extends Serv......

go4it
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部