JUnit4教程-高速入口
前言
大学刚学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包的免费下载链接:
hamcrest-library-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包和文档
hamcrest-library-1.3.rc2.jar下载
JUnit4高级篇及更加的具体深入的使用,请參考:JUnit4高级篇-由浅入深
转载请注明—作者:Java我人生(陈磊兴) 原文出处:http://blog.csdn.net/chenleixing/article/details/44259453
版权声明:本文博客原创文章,博客,未经同意,不得转载。
JUnit4教程-高速入口的更多相关文章
- C语言高速入口系列(七)
C语言高速入口系列(七) C语言指针进阶 本章引言: 在前面第5节中我们对C语言的指针进行了初步的学习理解;作为C语言的灵魂, C指针肯定没那么简单,在这一节中,我们将会对指针进行进一步的学习,比方二 ...
- 01-老马jQuery教程-jQuery入口函数及选择器
前言 这套jQuery教程是老马专门为寒门子弟而录制,希望大家看到后能转发给更多的寒门子弟.视频都是免费,请参考课程地址:https://chuanke.baidu.com/s5508922.html ...
- TinyXml高速入口(一)
笔者:朱金灿 来源:http://blog.csdn.net/clever101 对于xml文件,眼下我的工作仅仅是集中在配置文件和作为简单的信息文件来用.因此我不太喜欢使用msxml这样的重量级的x ...
- logstash高速入口
原文地址:http://logstash.net/docs/1.4.2/tutorials/getting-started-with-logstash 英语水平有限,假设有错误请各位指正 简单介绍 L ...
- Jenkins官方教程地址入口
https://jenkins.io/doc/book/ 其实Jenkins的核心在于插件,官方教程只能是基本简单的,所以要找教程最好对应插件来找.
- Cocos2d-x 3.0final 终结者系列教程05-AppDelegate入口类
下面是Cocos2d-x的程序入口: class AppDelegate : private cocos2d::Application { public: AppDelegate(); virtua ...
- Gradle 1.12 翻译——第九章 Groovy高速入口
由于时间.没办法,做笔记和翻译的同时,大约Gradle用户指南.本博客不再做相关的注意事项.而仅仅翻译和本出版物中未翻译章节. 有关其他章节翻译请注意Github该项目:https://github. ...
- Apple Swift 中文教程 高速參考 基本的语法
总的来说.语法有java的味道,也有python的味道,还有swift自己的味道. 有些语法还是挺不伦不类的,不太好理解,即使你有几年的java或python经验,也不见得有些语法你能非常轻松的看明确 ...
- C++ Primer 学习笔记_2_高速入口(继续)
P15习题 //题1.14: 试分析假设v1 == v2的情况下,该程序的输出结果 #include <iostream> int main() { std::cout <&l ...
随机推荐
- 数据库开发——参照完整性——在外键中使用Delete on cascade选项
原文:数据库开发--参照完整性--在外键中使用Delete on cascade选项 原文: http://www.mssqltips.com/sqlservertip/2743/using-dele ...
- android 原生应用、Web应用、混合应用优缺点分析
近期开发几个项目,牵涉到android的几种开发模式.对于原生态开发.web 应用开发以及混合模式开发,本人觉得并非哪一种就是最好的,哪一种就是最差的,这个全然是依据项目的实际需求,选择一种合适的开发 ...
- OpenCV视频播放方法
OpenCV视频播放方法 今天折腾了一下OpenCV的视频播放功能,希望能对项目又帮助- 代码还是非常easy的,仅仅是之前遇到点小麻烦,找不到cvCreateFileCapture函数的定义,花了一 ...
- SQL Server 连接问题-TCP/IP
原文:SQL Server 连接问题-TCP/IP 出自:http://blogs.msdn.com/b/apgcdsd/archive/2012/02/24/ms-sql-server-tcp-ip ...
- cocos2dx 制作单机麻将(二)
cocos2dx 制作单机麻将(二) 打乱麻将顺序2 前面解说了怎样打乱初始给定的麻将牌堆, 另一种是打乱随意给定的麻将牌堆 //混乱扑克2 void RandAppointCardData(BYTE ...
- Eclipse—怎样为Eclipse开发工具中创建的JavaWebproject创建Servlet
在博客<在Eclipse中怎样创建JavaWebproject>中图文并茂的说明了Eclipse中创建JavaWebproject的方法,本篇博客将告诉大家怎样为Eclipse开发工具中创 ...
- HTML5分析实战WebSockets基本介绍
HTML5 WebSockets规范定义了API,同意web使用页面WebSockets与远程主机协议的双向交流. 介绍WebSocket接口,并限定了全双工通信信道,通过套接字网络.HTML5 We ...
- WSHPSRS-匹克选择列表生成器-SRS(R12.2.3)
匹克选择列表生成器-SRS(R12.2.3) --US Program:Pick Selection List Generation - SRS Short Name:WSHPSRS Appli ...
- Linux内核导出符号宏定义EXPORT_SYMBOL源代码分析
资源: <include/linux/moudule.h> --. #ifndef MODULE_SYMBOL_PREFIX #define MODULE_SYMBOL_PREFIX &q ...
- Spring3+SpingMVC+Hibernate4全注解环境配置
Spring3+SpingMVC+Hibernate4全注解环境配置 我没有使用maven,直接使用Eclipse创建动态Web项目,jar包复制在了lib下.这样做导致我马上概述的项目既依赖Ecli ...