junit4教程junit4.5官方下载

官方下载地址http://sourceforge.net/project/showfiles.php?group_id=15278&package_id=12472
JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写。

先简单解释一下什么是Annotation,这个单词一般是翻译成元数据。元数据是什么?元数据就是描述数据的数据。也就是说,这个东西在Java里面可以用来和public、static等关键字一样来修饰类名、方法名、变量名。修饰的作用描述这个数据是做什么用的,差不多和public描述这个数据是公有的一样。想具体了解可以看Core Java2。废话不多说了,直接进入正题。

我们先看一下在JUnit 3中我们是怎样写一个单元测试的。比如下面一个类:
public class AddOperation {
public int add(int x,int y){
return x+y;
}
}

我们要测试add这个方法,我们写单元测试得这么写:
import junit.framework.TestCase;
import static org.junit.Assert.*;
public class AddOperationTest extends TestCase{

public void setUp() throws Exception {
}

public void tearDown() throws Exception {
}

public void testAdd() {
System.out.println(\"add\");
int x = 0;
int y = 0;
AddOperation instance = new AddOperation();
int expResult = 0;
int result = instance.add(x, y);
assertEquals(expResult, result);
}
}

可以看到上面的类使用了JDK5中的静态导入,这个相对来说就很简单,只要在import关键字后面加上static关键字,就可以把后面的类的static的变量和方法导入到这个类中,调用的时候和调用自己的方法没有任何区别。

我们可以看到上面那个单元测试有一些比较霸道的地方,表现在:
1.单元测试类必须继承自TestCase。
2.要测试的方法必须以test开头。

如果上面那个单元测试在JUnit 4中写就不会这么复杂。代码如下:
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;

/**
*
* @author bean
*/
public class AddOperationTest extends TestCase{

public AddOperationTest() {
}

@Before
public void setUp() throws Exception {
}

@After
public void tearDown() throws Exception {
}

@Test
public void add() {
System.out.println(\"add\");
int x = 0;
int y = 0;
AddOperation instance = new AddOperation();
int expResult = 0;
int result = instance.add(x, y);
assertEquals(expResult, result);
}

}
我们可以看到,采用Annotation的JUnit已经不会霸道的要求你必须继承自TestCase了,而且测试方法也不必以test开头了,只要以@Test元数据来描述即可。
从上面的例子可以看到在JUnit 4中还引入了一些其他的元数据,下面一一介绍:
@Before:
使用了该元数据的方法在每个测试方法执行之前都要执行一次。

@After:
使用了该元数据的方法在每个测试方法执行之后要执行一次。

注意:@Before和@After标示的方法只能各有一个。这个相当于取代了JUnit以前版本中的setUp和tearDown方法,当然你还可以继续叫这个名字,不过JUnit不会霸道的要求你这么做了。

@Test(expected=*.class)
在JUnit4.0之前,对错误的测试,我们只能通过fail来产生一个错误,并在try块里面assertTrue(true)来测试。现在,通过@Test元数据中的expected属性。expected属性的值是一个异常的类型

@Test(timeout=xxx):
该元数据传入了一个时间(毫秒)给测试方法,
如果测试方法在制定的时间之内没有运行完,则测试也失败。

@ignore:
该元数据标记的测试方法在测试中会被忽略。当测试的方法还没有实现,或者测试的方法已经过时,或者在某种条件下才能测试该方法(比如需要一个数据库联接,而在本地测试的时候,数据库并没有连接),那么使用该标签来标示这个方法。同时,你可以为该标签传递一个String的参数,来表明为什么会忽略这个测试方法。比如:@lgnore(“该方法还没有实现”),在执行的时候,仅会报告该方法没有实现,而不会运行测试方法。

(0)

相关推荐

  • junit4教程junit4.5官方下载

    官方下载地址http://sourceforge.net/project/showfiles.php?group_id=15278&package_id=12472JUnit4是JUnit框架有史以来的最大改进,其主要目标便是利用Java5的Annotation特性简化测试用例的编写. 先简单解释一下什么是Annotation,这个单词一般是翻译成元数据.元数据是什么?元数据就是描述数据的数据.也就是说,这个东西在Java里面可以用来和public.static等关键字一样来修饰类名.方法名.变

  • Prototype1.6 JS 官方下载地址

    http://www.prototypejs.org/download Prototype1.6官方下载 我们下载地址 Learn about what's new in version 1.6. Prototype SVN If you want the full development package (including unit tests), you can use Subversion to checkout the source code: svn co http://svn.ru

  • Microsoft Expression Web 简体中文正式版 官方下载地址

    Microsoft Expression Web 简体中文正式版相对于早期的 Microsoft Expression Web Designer CTP1(英文)除了它是正式的中文版外,有进步的地方1.对标签的id名称加上了css的代码跟踪链接,这个着实方便了很多2.DOCTYPE 为HTML 4.01系列的时候能够检查到"某元素包含自身" 如: 等会要求你删除结尾的斜线.......更多优点还在发现中....对于偏重于设计制作的网页设计师来说,这个肯定比Dreamwaver8好用,尤

  • SQL Server 2008 安装和配置图解教程(附官方下载地址)

    SQL Server 2008我们也能从中体验到很多新的特性,但是对于SQL Server 2008安装,还是用图来说话比较好.本文将从SQL Server 2008安装开始讲起. SQL Server 2008 简体中文正式版 下载地址 http://www.jb51.net/softs/43885.html 本来这篇是打算玩玩服务器功能中的第一个:adrms的,没想到装了几次都安装成功,但是有错误,后来没招了,打算将rms的数据库放到sql上来折腾折腾,所以为了不让大家觉得突兀,所以本篇SQ

  • Win2008下载 中文版、英文版官方下载地址

    Win2008 RC0 中文版.英文版 其中英文版Win2008下载服务由微软官方提供. Windows Server 2008 简体中文企业版下载 电骡点击下载 (使用迅雷.快车.emule.vagaa均可) Windows Server 2008 英文企业版下载 点击进入下载页面 (HTTP服务器) Windows Server 2008 安装注意事项,很容易错装成Core内核版 Windows Server 2008(X86)官方简体中文正式版 闲来无事,下了个2008尝尝鲜,Win200

  • Ajax.基础教程 电子书版 提供下载

    Ajax.基础教程提供下载时间为2个星期以内,需要的抓紧下 screen.width-461) window.open('/upload/200729131038873.jpg');" src="http://files.jb51.net/upload/200729131038873.jpg" border=0> http://www.javascript.com.cn/Ajax.pdf 最好用迅雷下 (此资源来源于网络,如果侵犯您的版权,我们会马上删掉)

  • 微软 Visual Studio 2010官方下载地址给大家

    官方地址: http://www.microsoft.com/visualstudio/en-us/download 点击相应的Trial下载链接进入下载页面 不同版本下载: Microsoft Visual Studio 2010 Premium - ISO http://www.microsoft.com/downloads/details.aspx?FamilyID=f81412a2-d48e-4040-9b32-27eaf771c5db&displaylang=en Microsoft

  • 搜索引擎优化《SEO教程2007版》下载

    SEO培训教程由通王科技总裁王通根据自己多年的实战经验亲自编写,它不仅教你如何快速学习SEO技术,而且还教你如何利用SEO技术去实实在在赚钱.王通认为:学习技术很重要,学习利用技术赚钱的本领更重要! SEO教程为你提供的三种赢利模式 采用第一种赢利模式:你可以在三个月内轻松获得最少10倍以上的回报,让你快速的通过本书的方法受益: 采用第二种赢利模式:你可以努力工作半年后,获得财务自由,工作的时间会越来越少,赚的钱越来越多,生活越来越轻松; 采用第三种赢利模式:你可以结合自己现实中的资源,低成本无

  • CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】

    本文实例讲述了CKEditor 4.4.1 添加代码高亮显示插件功能.分享给大家供大家参考,具体如下: 随着CKEditor4.4.1的发布,以前一直困扰的代码高亮问题终于完美的得到解决,在CKEditor4.4中官方发布了Code Snippet这个代码片段的插件,终于可以完美的内嵌使用代码高亮了,以前都是使用网友自己开发的代码高亮插件.下面就来介绍如何使用Code Snippet这个代码高亮插件.本文还介绍了CKEditor中如何安装Code Snippet插件. 新版本附加信息 CKEdi

  • mysql 5.0.67最新版替代MySQL 5.0.51b版本官方下载

    功能新增或变更的:  安全增强:使严格控制的位置,从哪个用户定义的函数可以被载入, plugin_dir系统变量已的 backported从MySQL 5.1 .如果该值非空,用户定义函数对象的文件可以被加载,只有从目录中命名这个 变量.如果该值是空的,行为是用来前5.0.67适用于: UDF的对象文件必须设在一个目录是搜查你的系统 的动态链接. (错误# 37428 )  重要的变化:不兼容的变化: FEDERATED存储引擎是现在默认情况下禁用在. cnf文件发运与MySQL分布 (我- h

随机推荐