前言

大学刚学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. sqlserver system object type

    select distinct s.type, s.type_desc from sys.objects as s inner join (select distinct type from sys. ...

  2. Dom7.js 源码阅读备份

    在Framework7,其特色的HTML框架,可以创建精美的iOS应用;  她有自己的 DOM7- 一个集成了大部分常用DOM操作的高性能库.你不需要学习任何新的东西,因为她的用法和大名鼎鼎的jQue ...

  3. 【JDK源码分析】String的存储区与不可变性(转)

    // ... literals are interned by the compiler // and thus refer to the same object String s1 = " ...

  4. Mapxtreme C#鹰眼地图

    Demo演示程序下载地址: http://pan.baidu.com/s/1jG9gKMM#dir/path=%2F%E4%BA%A7%E5%93%81%2FDemos 找:EagelEyeMap.r ...

  5. ubuntu 下安装 matplotlib

    直接使用sudo easy_install matplotlib 报错 ================================================================ ...

  6. 【web开发学习笔记】Structs2 Action学习笔记(两)

    action学习笔记2-大约action method讨论 Action运行的时候并不一定要运行execute方法,能够在配置文件里配置Action的时候用method=来指定运行哪个方法 也能够在u ...

  7. PAT 1033. To Fill or Not to Fill (贪婪)

    PAT-A最后一个问题.最后做出来... 贪婪,通过局部优化全局优化. 1. 该加油站按距离升序排列 2. 记录气体台当前所在index,目前的汽油.开支.在您的整个背部 3. 遍历中有两种情况: 1 ...

  8. 【IOS 开发】Object-C 入门 Xcode 环境具体解释

    作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38424965 一. Xcode 环境安装 与 project ...

  9. hdu 4915 Parenthese sequence 多校第五场

    推断一个序列是否是有效是简单的. 可是推断序列是不是有多个解会出问题. 那么从i=0 ~l 假设读到问号,推断该问号成为(能否有效,该问号为)是否有效. 假设都有效,则必有多个解. 假设都无效,则无解 ...

  10. Lenovo E46A-Win 7_无线灯亮但无法启动(耽误3天以上您信吗.....)问题: wlan autoconfig 依赖服务或组无法启动

    Lenovo E46A-Win 7_无线灯亮但无法启动(耽误3天以上您信吗.....)问题: wlan autoconfig 依赖服务或组无法启动 提示: windows7 无线连接服务wlan au ...