前言

大学刚学java当听说JUnit该,单元测试框架,使用非常简单的测试框架,JUnit测试测试框架将更加方便,easy。编写測试代码也是简单、明了,功能强大。今天我给大家简单分享一下最新JUnit4的使用,几分钟入门!

导入jar包

在集成开发环境中导入对应jar包:junit-4.12.jar、hamcrest-core-1.3.rc2.jar、hamcrest-library-1.3.rc2.jar。

假设仅仅导入第一个jar的话就不能启动測试程序会报错,报错及几个包的关系详见我的博客:JUnit4单元測试报错。

在此,给大家提供一下这几个jar包的免费下载链接:

junit-4.12.jar下载

hamcrest-library-1.3.rc2.jar下载

hamcrest-core-1.3.rc2.jar下载

导入方法看例如以下截图就明确了:

 

新建測试用例

右击包名,点击新建。或者新建里的others,选择JUnit test case。例如以下图所看到的:

 

接下来,给測试类起名字和选择要測试的类,例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmxlaXhpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

 

然后点击【Next】。选择要被測试类中的測试方法。例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbmxlaXhpbmc=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center">

最后新建完毕,例如以下(第一个方法是生成的方法,后边几个都是我自己手动写上去的):

package JUnitTest;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test; public class TestJava { @Test
public void testMain() {
fail("Not yet implemented");
} @Test
public void testTest() {
System.out.println("@Test");//调用自己要測试的方法
} @Test
public void testAssert() {
assertEquals("chenleixing","chenlei");
} @Test(timeout=1)
public void testTimeout() {
System.out.println("超时測试");
} @Before
public void testBefore(){
System.out.println("@Before");
} @BeforeClass
public static void testBeforeClass(){//必须为静态方法
System.out.println("@BeforeClass");
} @After
public void testAfter(){
System.out.println("@After");
} @AfterClass
public static void testAfterClass(){//必须为静态方法
System.out.println("@AfterClass");
} @Ignore
public void testIgnore(){
System.out.println("@Ignore");
}
}

JUnit4注解解释

1. @Test : 測试方法,測试程序会执行的方法,后边能够跟參数代表不同的測试,如(expected=XXException.class) 异常測试,(timeout=xxx)超时測试

2. @Ignore : 被忽略的測试方法

3. @Before: 每个測试方法之前执行

4. @After : 每个測试方法之后执行

5. @BeforeClass: 全部測试開始之前执行

6. @AfterClass: 全部測试结束之后执行

fail方法是指測试失败

assertEquals測试2个參数是否相等。详细參考对应API

很多其它方法可參考对应API文档(博文末尾分享下载连接给大家)

执行測试用例

把自己的測试代码写在@Test注解后者其它注解的方法里边,点击执行新建的測试用例。结果例如以下:

 

带差号的是说明測试失败的,testMain()和testAssert()肯定会失败,对号的是測试成功的。

控制台输出的结果例如以下:

<span style="font-size:18px;">@BeforeClass
@Before
超时測试
@After
@Before
@After
@Before
@Test
@After
@Before
@After
@AfterClass</span>

免费下载jar包和文档

junit-4.12.jar下载

hamcrest-library-1.3.rc2.jar下载

hamcrest-core-1.3.rc2.jar下载

junit4API.chm.html下载

JUnit4高级篇及更加的具体深入的使用,请參考:JUnit4高级篇-由浅入深

转载请注明—作者:Java我人生(陈磊兴)   原文出处:http://blog.csdn.net/chenleixing/article/details/44259453

版权声明:本文博客原创文章,博客,未经同意,不得转载。

JUnit4教程-高速入口的更多相关文章

  1. C语言高速入口系列(七)

    C语言高速入口系列(七) C语言指针进阶 本章引言: 在前面第5节中我们对C语言的指针进行了初步的学习理解;作为C语言的灵魂, C指针肯定没那么简单,在这一节中,我们将会对指针进行进一步的学习,比方二 ...

  2. 01-老马jQuery教程-jQuery入口函数及选择器

    前言 这套jQuery教程是老马专门为寒门子弟而录制,希望大家看到后能转发给更多的寒门子弟.视频都是免费,请参考课程地址:https://chuanke.baidu.com/s5508922.html ...

  3. TinyXml高速入口(一)

    笔者:朱金灿 来源:http://blog.csdn.net/clever101 对于xml文件,眼下我的工作仅仅是集中在配置文件和作为简单的信息文件来用.因此我不太喜欢使用msxml这样的重量级的x ...

  4. logstash高速入口

    原文地址:http://logstash.net/docs/1.4.2/tutorials/getting-started-with-logstash 英语水平有限,假设有错误请各位指正 简单介绍 L ...

  5. Jenkins官方教程地址入口

    https://jenkins.io/doc/book/ 其实Jenkins的核心在于插件,官方教程只能是基本简单的,所以要找教程最好对应插件来找.

  6. Cocos2d-x 3.0final 终结者系列教程05-AppDelegate入口类

    下面是Cocos2d-x的程序入口: class  AppDelegate : private cocos2d::Application { public: AppDelegate(); virtua ...

  7. Gradle 1.12 翻译——第九章 Groovy高速入口

    由于时间.没办法,做笔记和翻译的同时,大约Gradle用户指南.本博客不再做相关的注意事项.而仅仅翻译和本出版物中未翻译章节. 有关其他章节翻译请注意Github该项目:https://github. ...

  8. Apple Swift 中文教程 高速參考 基本的语法

    总的来说.语法有java的味道,也有python的味道,还有swift自己的味道. 有些语法还是挺不伦不类的,不太好理解,即使你有几年的java或python经验,也不见得有些语法你能非常轻松的看明确 ...

  9. C++ Primer 学习笔记_2_高速入口(继续)

     P15习题 //题1.14: 试分析假设v1 == v2的情况下,该程序的输出结果 #include <iostream> int main() { std::cout <&l ...

随机推荐

  1. 使用js在新窗口中POST数据

    最近在做自己的博客,写文章的时候有一个预览功能,当时使用的是弹出框来进行预览,感觉体验不是很好. 然后想到了写邮件时候的新窗口预览,查了下126邮箱和qq邮箱的预览实现效果,以及各种谷歌百度stack ...

  2. 利用Ring Buffer在SQL Server 2008中进行连接故障排除

    原文:利用Ring Buffer在SQL Server 2008中进行连接故障排除 出自:http://blogs.msdn.com/b/apgcdsd/archive/2011/11/21/ring ...

  3. HTML与XHTML差额

    实际上.XHTML 与 HTML 4.01 标准没有太多的不同. 它们最基本的不同.举例说明例如以下: 1.XHTML 元素必须被正确地嵌套. 错误:<p><span>this ...

  4. 上传文件块client实现

    首先由内容阻止所有文件(块大小的约束),然后对于每一个chunk构造单独的一个UDP 数据报进行传输,在应用层的開始是自己定义的包头,有块号,块长度,块指纹等元数据信息,这些信息便于接收端可以按序正确 ...

  5. 5.非关系数据库(Nosql)它mongodb:创建一个集合,导出和导入备份, 数据恢复,进出口

     1 固定集合 固定集合值得是事先创建并且大小固定的集合 2 固定集合的特征:固定集合非常像环形队列.假设空间不足,最早文档就会被删除,为新的文档腾出空间.一般来说.固定集合适用于不论什么想要自己 ...

  6. quick-cocos2d-x游戏开发【5】——创建菜单

    一个菜单是游戏中的一个基本要素,quick在里面menuItem有两个包.一个是图片菜单.一个文本菜单. 一个.图片菜单ui.newImageMenuItem(params) 參数: image: 正 ...

  7. linux笔记本上安装了双显卡驱动(intel+nvidia)

    为了提高linux图形性能并降低功耗,独特的文章. 我用的系统Fedora 20 Xfce x64,在安装驱动程序,以确保系统是最新的版本号. 最好安装gcc.kernel-devel和其他包.己主动 ...

  8. android怎么在launcher改动内置apk的icon

    找到launcher下的IconCache中加入变量用来存储要改动apk的包名 及要改动成的icon private String[] className = {"com.google.an ...

  9. 安装程序添加iis的方法经验分享

    原文:安装程序添加iis的方法经验分享 网上有一些这样的方法,但我这里主要做一些对比和扩充 网上这方面的文章的岁数比较大,server 08R2和win7出来后,整理这方面的资料的文章没找到,所以这里 ...

  10. Unity模拟龙之谷人物行走简单控制

    我个人挺喜欢龙之谷(DN)的人物控制的(不是广告哈....),就是人物太萌了一点,动作.打击感都挺好的. 今天用Unity简单模仿了一下DN的人物控制,当然,游戏里面动作非常多,我这里仅仅做了简单的w ...