Java两大测试方法Junit和TestNG的比较
开发过程中,经常会用到JAVA测试,前端javas cript的调试相对比较轻松,firebug,console.log()等,但是java的就比较纠结点,每次改完都要去编译再运行,过程相对缓慢,加上如果项目比较大的话,就非常DT,有听朋友说他们公司的项目是用EJB,开发的时候每次做个小修改就要花费几分钟去重新部署在服务器上。为了减轻调试的过程,提高开发效率,一些专门用于测试框架出现了,典型的就是Junit和TestNG,下面长沙欧柏泰克软件学院跟大家简单分享下如何使用这两个工具以及他们的区别在哪,纯属入门级别的简介。
Junit
这个估计大家比较熟悉,目前发展到Junit4版本了,通过简单的注解就可以进行代码的测试,常用的有 @Test,@Before,@After;@Test注解的方法是我们要测试的方法,@Before就是执行@Test的方法前的操作,一般用来做初始化工作,@After就是@Test的方法运行完后的操作,看起来有点像AOP的注解,呵呵。
准备工作:导入Junit 4的jar包,运行的时候,点击右键,Run as ,选择“Junit Test”即可。
局限性:没有提供带参数执行的操作(不知新版本有木有),当然,你可以采用@Before来做一些初始化工作,这里可以初始化我们要测试的数据。
贴段测试demo代码:

TestNG
这个测试框架跟Junit差不多,但是有一点就是跟Junit不同的是,对数据驱动测试的内建支持,讲人话就是,可以@Test的方法可以是带有参数的,这也是它最闪亮的功能之一。它也有类似的注解:@Test、@BeforeMethod,还有一个@DataProvider,就是数据提供者,不理解看看代码就清楚了。
准备工作:TestNG的前期准备工作其实够呛的,网上一大堆说法,折腾了一段时间,终于成功了。具体的过程:myeclipse的是 点击 help->Eclipse MarketPlace... -->search:输入 testNG,找到TestNG,点击 Install,安装的过程灰常纠结,网速慢加上貌似下载插件的站点被墙了(你懂得,FQ就不说了)。安装好之后,重启,导入TestNG的jar 包:testng-jdk15.jar,不用自己再去下载,自己直接在myeclipse导入就可,找一个有@Test的类,右键 Run as ,可以看到有“TestNG Test” 选项,恭喜你,成功了。
与Junit的区别主要在于测试数据的内建支持,可以让我们针对带有参数的方法进行单元测试。此外,构建测试测过程要配置相关的xml文件,声明是针对那个类哪个方法进行测试,具体请看代码。
测试demo代码:

配置文件:
temp-testng-customsuite.xml

Java两大测试方法Junit和TestNG的比较的更多相关文章
- Java轻量级业务层框架Spring两大核心IOC和AOP原理
IoC(Inversion of Control): IOC的基本概念是:不创建对象,但是描述创建它们的方式.在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务.容器负责将这些 ...
- java环境中基于jvm的两大语言:scala,groovy
一.java环境中基于jvm的两大语言:scala,groovy 可以在java项目里混编这两种语言: scala:静态语言,多范式语言,糅合了面向对象.面向过程:可以与java和net互操作:融汇了 ...
- Java的两大数据类型
Java的两大数据类型 基本数据类型 byte,short,int,long,float,double,boolean,char byte 类别 内容 类型 byte 简介 byte 数据类型是8位. ...
- 首先java中集合类主要有两大分支
本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理. Java中的集合类包含的内容很多而且很重 ...
- 【Java知识点专项练习】之 数据类型两大类
Java的数据类型分为两大类:基本类型和引用类型: 基本类型只能保存一些常量数据,引用类型除了可以保存数据,还能提供操作这些数据的功能: 为了操作基本类型的数据,java也对它们进行了封装, 得到八个 ...
- 03 Java的数据类型分为两大类 类型转换 八大基本类型
数据类型 强类型语言:要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用 Java的数据类型分为两大类 基本类型(primitive type) 数值类型 整数类型 byte占1个字节范围: ...
- java的数据类型分为两大类
java的数据类型分为两大类 基本类型(primitive type) 数据类型 整数类型 byte占一个字节范围:-128-127 short占两个字节范围:-32768-32767 int占四个字 ...
- Java 学习笔记 两大集合框架Map和Collection
两大框架图解 Collection接口 由第一张图,我们可以知道,Collection接口的子接口有三种,分别是List接口,Set接口和Queue接口 List接口 允许有重复的元素,元素按照添加的 ...
- Java入门到精通——框架篇之Spring源码分析Spring两大核心类
一.Spring核心类概述. Spring里面有两个最核心的类这是Spring实现最重要的部分. 1.DefaultListableBeanFactory 这个类位于Beans项目下的org.spri ...
随机推荐
- js 函数里的 this
1,当作为纯粹的函数调用时, this指向调用出的环境的上下文,看下面的例子 var x = 1; function test(){ var x = 0; alert( alert(x); } tes ...
- HDU - 6116:路径计数 (组合数&NTT)
一个包含四个点的完全图,可以在任意节点出发,可以在任意节点结束,给出每个点被经过的次数,求有多少种合法的遍历序列.如果两个序列至少有一位是不同的,则认为它们不相同. Input 2 3 3 3 Sam ...
- 剑指offer-第四章解决面试题思路(判断一个数组是否为二叉搜索树的后序遍历序列)
二叉搜索树:二叉搜索树根节点的左边都比根节点小,右边都比根节点大. 例题:输入一个数组,判断是否为二叉搜索树的后序遍历序列,如果是,返回true,如果不是,返回flase,假设没有重复的元素. 思路: ...
- 【LIUNX】目录或文件权限,权限授予
三个三个一组看: 1. 第一段表示文件所有者对此文件的操作权限 2. 第二段表示文件所有者所在组对些文件的操作权限 3. 第三段表示除上述两种外的任何用户/组对此文件的操作权限 r读取:4 w写入:2 ...
- 为什么我的 FastAdmin 慢?
为什么我的 FastAdmin 慢? 排查流程 询问 demo.fastadmin.net 是否慢,官方 demo 安装了 80% 的插件. 开发时一般都是打开 debug 配置,上线要把 debug ...
- A SQLiteConnection object for database '/data/data/.../databases/....db' was leaked!
详细异常: A SQLiteConnection object for database '/data/data/.../databases/....db' was leaked! Please ...
- Python3中的http.client模块
http 模块简介 Python3 中的 http 包中含有几个用来开发 HTTP 协议的模块. http.client 是一个底层的 HTTP 协议客户端,被更高层的 urllib.request ...
- fineUI表格控件各属性说明
最近在新的公司后台用fineUI,所以也稍微总结一下表格的一些属性,希望对刚入手的人有些帮助: AllowPaging 允许分页,为true时表示允许分页,表格下方会出现分页工具栏: PageSize ...
- Oracle 数据库备份还原(Expdp/impdp)记录
最近公司将原数据库服务器切换.之前没整过这块,也是一堆的度娘.经过不停的摸索,终于成功了.现在将这份艰辛记录下来,方便自己以后查阅的同时,方便有类似需求的同学参考. 我们此次切换共分:ERP.LOS. ...
- selenium新的定位方法,更简洁很方便
亲测是可以的 self.driver.find_element('id','kw').send_keys(u"凯宾斯基")