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 ...
随机推荐
- Sphinx/Coreseek 4.1 跑 buildconf.sh 一个错误,无法生成configure档
安装前 coorseek 什么时候,遇到一些错误.该官方网站无法看到的解决方案,终于 google 在大牛的博客评论区找到一个解决方案.突然跑到他的膝盖介绍~~ 这里整理是为了方便一些人发现,墙毕竟让 ...
- django简单图表
Settings.py:项目的配置文件.包含数据库配置信息;模板路径的配置信息;webserver的配置信息;app的配置信息等其他配置信息. urls.py:函数与模板相应关系的配置信息,能够理解为 ...
- height/innerHeight/outerHeight
<script> $(document).ready(function(){ alert("height:"+$("#div").height()) ...
- Android与服务器端数据交互(转)
上一节中我们通过http协议,采用HttpClient向服务器端action请求数据.当然调用服务器端方法获取数据并不止这一种.WebService也可以为我们提供所需数据,那么什么是webServi ...
- zoom的学习
上大学做阶段项目时遇到了一个非常奇特的现象:kindEditor上传图片功能失效,可是把jsp所引用的样式去掉就好用,这说明样式有问题,于是删一个样式測试一下,就这样罪魁祸首落在了zoom身上,这是我 ...
- 海哥:T2C时代的到来了,那么什么叫T2C?
昨天写了一篇文章叫做<我为什么选择家具行业,以及T2C概念的创办>,地址:http://user.qzone.qq.com/198819880/blog/1414399801 ,里面提到了 ...
- C# 获得Excel工作簿Sheet页面(工作表)集合的名称
#region 获取Excel工作薄中Sheet页(工作表)名集合 /// <summary> /// 获取Excel工作薄中Sheet页(工作表)名集合 /// </summary ...
- iOS类别(Category)和扩展(Extension,匿名类)
Category在iOS在开发常用. 特别是对于系统扩展上课时间.我们不能继承系统类.直接添加到系统类方法,最大程度上体现Objective-C动态语言特征. #import @interface N ...
- C# Windows Schedule task此次收购task下一步执行时间
最近进行了一次需求和Windows Schedule task相关职能,通过schedule,计算下一次运行task时间. 它用于由第三方DLL实现,以下网站,以下载来自: http://tasksc ...
- Android利用网络编程HttpClient批量上传(两)AsyncTask+HttpClient监测进展情况,并上传
请尊重别人的劳动.转载请注明出处: Android网络编程之使用HttpClient批量上传文件(二)AsyncTask+HttpClient并实现上传进度监听 执行效果图: 我曾在<Andro ...