Junit4单元测试要点

2024-03-16 17:18
文章标签 单元测试 要点 junit4

本文主要是介绍Junit4单元测试要点,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    最近公司在用单元测试测试已经写好的系统代码,作为刚入职的员工,开始学习起的单元测试和Junit4的用法,下面记录一些在使用Junit4进行单元测试的要点,以便以后学习工作使用。

一、单元测试介绍

   单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。

在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在像C++这样的面向对象的语言中, 要进行测试的基本单元是类。对Ada语言来说,开发人员可以选择是在独立的过程和函数,还是在Ada包的级别上进行单元测试。单元测试的原则同样被扩展到第四代语言(4GL)的开发中,在这里基本单元被典型地划分为一个菜单或显示界面。

传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个程序,在该程序中调用你需要测试的方法,并且仔细观察运行结果,看看是否有错。正因为如此麻烦,所以程序员们编写单元测试的热情不是很高。于是有一个牛人推出了单元测试包,大大简化了进行单元测试所要做的工作,这就是JUnit4

二、使用要点

1.测试方法上必须使用@test进行修饰

2.测试方法必须使用public void进行修饰,并且不能带任何参数

3.新建一个源代码目录存放测试代码

4.测试类包应该和被测试类一致

5.测试单元中的每个方法必须可以独立测试,测试方法间不能有任何依赖

6.测试类名推荐使用test作为后缀

7.测试方法推荐使用test作为前缀

8.测试用例是用来证明你没有错,而不能证明你是对的;

  测试用例用来达到预期的结果,但是对于逻辑错误无能为力

9.测试失败的两种情况:

  (1)Failure一般由单元测试使用的断言方法判断失败所引起的,这表示经测试点发现了问题,就是说程序输出的结果和我们预期的不一样。

  (2)error是由代码异常引起的,它可以产生于测试代码本身的错误,也可以是被测试代码中的一个隐藏的bug。

10.@Beforeclass修饰的方法会在所有方法被调用前执行

    而且该方法是静态的,所以当测试类加载后他会继续执行

    而在内存中他只存在一份实例,比较适合加载配置文件

11.@Afterclass所修饰的方法通常用来对资源的清理,如关闭数据库的连接

12.@Before和@After会在每个测试方法执行前后各执行一次

13.@Test:将一个普通的方法变为测试方法

   @Test(expected=XX.class)抛出异常

   @Test(timeout=毫秒)

14.Ignore:所修饰的测试方法会被测试运行期忽略

15.Runwith:可以更改测试运行期 org.junit.runner.Runner

三、Junit 测试套件

测试套件就是组织测试类一起运行的

写一个作为测试套件的入口类,这个类不包含其他方法

更改测试运行器Suite.class

将要测试的类作为数组传入到Suite.SuiteClass({})

四、Junit的参数化设置

1.更改默认的测试运行器为RunWith(Parameterized.class)

2.声明变量来存放预期值和结果值

3.声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰

4.为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值



这篇关于Junit4单元测试要点的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/816170

相关文章

系统优化要点

这是常用的系统优化要考虑的点,在系统设计和代码评审以及代码优化时加以考虑,最大限度提高系统性能:  1. 优化算法,选择合适高效算法,降低不必要递归,循环,多层循环嵌套,避免循环内初始化等。  2. 避免申请过多不必要的内存  3. 及时释放资源,降低资源使用时间,包括内存,IO,网络,数据库等。  4. 使用缓存:缓存常用的,不易变化的。  5. 慎用数据库锁。确

springboot+maven搭建的项目,集成单元测试

springboot+maven搭建的项目,集成单元测试 1.在pom.xml文件中引入单元测试的依赖包 <!--单元测试依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></depen

c语言要点!

其他合法的输入:     1.    3空格 空格4空格 空格 空格5 空格 回车     2.    3回车4空格5回车     3.    3(tab键)4回车5回车     例子2     #include<stdio.h>     #include<stdlib.h>     int main()     {     int a,b,c;     s

互联网开发要点

垂直扩展 横向扩展 业务分拆 数据读写分离 缓存读写 异步处理(消息队列)

20151214 要点摘录2

算法: 四火的数据库算法10题 http://www.raychase.net/2810 leetCode解题报告 http://bookshadow.com/leetcode/ 学习算法之路(转) http://blog.csdn.net/sunboy_2050/article/details/5656823 10分钟没有思路的就找例子 http://blog.csdn

20151214 要点摘录1

eclipse用法 --- 涉及到的eclipse的使用 在接口名上按F4 可以看继承关系    按ctrl+T可以找实现类 ctrl+shift+r查找文件 MyBatis的设计主要是把对数据库的增删改查的sql语句和JavaWeb工程的POJO做绑定 1 配置sql语句的映射文件 2 在conf.xml中配置数据库连接并关联sql语句的映射文件 3 在dao中编写代码,加载con

PowerMock 单元测试总结与常见坑解决方案

PowerMock 单元测试总结与常见坑解决方案 官方文档: PowerMock GitHub PowerMock 在单元测试中能够帮助我们解决静态类、final 方法、私有方法等无法轻易 mock 的问题。下面是我在实际使用 PowerMock 时踩过的一些坑,并结合 PowerMock 的一些方法进行总结。 基本依赖和设置 在 Maven 中添加 PowerMock 依赖。在测试

2024国赛论文拿奖快对照这几点及评阅要点,勿踩雷区!(国赛最后冲刺,提高获奖概率)

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑ 2024“高教社杯”全国大学生数学建模竞赛已过去第三个夜晚,小伙伴们都累了没有,如果感到思维滞涩,别忘了稍作休息,放松一下自己,准备迎接国赛非常重要的收尾阶段——论文。 国赛这几天的努力最后都

流程图符号速查:快速掌握流程图绘制要点

流程图是一种以图形化方式表示算法或过程的步骤和逻辑关系的图表,它通过使用一系列标准的符号和连接线来清晰地展示流程的顺序和决策点。这种表示方法不仅使得复杂的过程更加易于理解,而且也便于跟踪和优化。以下是对流程图的进一步扩写,包括其制作步骤、应用场景和一些实用技巧。流程图常常用来表示一些动态过程,通常会有一个“起点”, 可以有一个或多个终点,流程图可以直观、明确地表示动态过程从开始到结束的全部步骤,在

HDFS要点剖析

谈到大数据,不得不提的一个名词是“HDFS”。它是一种分布式文件存储系统,其系统架构图如下图所示: 从图中可以了解到的几个关键概念 元数据(MetaData)机架(Rock)块(Block) 从图中可以了解到的两个重要组件: NameNodeDataNode 需要了解的另一个组件: SecondaryNameNode 三个重要的组件说明 NameNode 简单地说,NameNod