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 ...
随机推荐
- 【Java 并发】Executor框架机制与线程池配置使用
[Java 并发]Executor框架机制与线程池配置使用 一,Executor框架Executor框架便是Java 5中引入的,其内部使用了线程池机制,在java.util.cocurrent 包下 ...
- java编写创建数据库和表的程序
本文示例可见一斑了,主要是通过Java对SQL语句进行操作,和普通的增删改查的原理是一样的: import java.sql.*; public class Test { public static ...
- SqlServer 数据库读写分离【转】
1. 实现原理:读写分离简单的说是把对数据库读和写的操作分开对应不同的数据库服务器,这样能有效地减轻数据库压力,也能减轻io压力.主数据库提供写操作,从数据库提供读操作,其实在很多系统中,主要是读的操 ...
- UVA11174 Stand in a Line
题意 PDF 分析 \[ f(i)=f(c_1)f(c_2)\dots\times(s(i)-1)!/(s(c_1)!s(c_2)! \dots s(c_k)! )\\ f(root)=(s(root ...
- Sql 中Collate用法
今天查询sqlite的时候需要不区分大小写,查了下文档,需要使用collate nocase.顺便学习下collate的用法. collate在sql中是用来定义排序规则的.排序规则其实就是当比较两个 ...
- 分布式缓存系统 Memcached 数据存储slab与hashtable
缓存数据以item为基本单元,以双链表形式存放在对应级别大小的slabclass结构的chunk中.同时该item还存放在链式hashtable中bucket中,用于提供快速查找的索引. 首先是理解缓 ...
- juc原子类之五:AtomicLongFieldUpdater原子类
概要 AtomicIntegerFieldUpdater, AtomicLongFieldUpdater和AtomicReferenceFieldUpdater这3个修改类的成员的原子类型的原理和用法 ...
- python selenium中iframe切换、window切换方法
一.selenium中iframe切换方法: 方法一:switch_to.frame frame函数中提供了三种定位方法:by index, name, or webelement. driver.s ...
- 微信扫码支付PHP接入总结
微信扫码支付分为两种模式, 模式一比较复杂,需要公众号配置回调地址. 模式二比较简单,只需要在代码中配置回调地址就可以了. 我这次使用的是模式二. 需要配置参数, const APPID = 'xxx ...
- linux输入子系统概念介绍
在此文章之前,我们讲解的都是简单的字符驱动,涉及的内容有字符驱动的框架.自动创建设备节点.linux中断.poll机制.异步通知.同步互斥.非阻塞.定时器去抖动. 上一节文章链接:http://blo ...