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 ...
随机推荐
- sqlserver system object type
select distinct s.type, s.type_desc from sys.objects as s inner join (select distinct type from sys. ...
- Dom7.js 源码阅读备份
在Framework7,其特色的HTML框架,可以创建精美的iOS应用; 她有自己的 DOM7- 一个集成了大部分常用DOM操作的高性能库.你不需要学习任何新的东西,因为她的用法和大名鼎鼎的jQue ...
- 【JDK源码分析】String的存储区与不可变性(转)
// ... literals are interned by the compiler // and thus refer to the same object String s1 = " ...
- Mapxtreme C#鹰眼地图
Demo演示程序下载地址: http://pan.baidu.com/s/1jG9gKMM#dir/path=%2F%E4%BA%A7%E5%93%81%2FDemos 找:EagelEyeMap.r ...
- ubuntu 下安装 matplotlib
直接使用sudo easy_install matplotlib 报错 ================================================================ ...
- 【web开发学习笔记】Structs2 Action学习笔记(两)
action学习笔记2-大约action method讨论 Action运行的时候并不一定要运行execute方法,能够在配置文件里配置Action的时候用method=来指定运行哪个方法 也能够在u ...
- PAT 1033. To Fill or Not to Fill (贪婪)
PAT-A最后一个问题.最后做出来... 贪婪,通过局部优化全局优化. 1. 该加油站按距离升序排列 2. 记录气体台当前所在index,目前的汽油.开支.在您的整个背部 3. 遍历中有两种情况: 1 ...
- 【IOS 开发】Object-C 入门 Xcode 环境具体解释
作者 : 韩曙亮 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/38424965 一. Xcode 环境安装 与 project ...
- hdu 4915 Parenthese sequence 多校第五场
推断一个序列是否是有效是简单的. 可是推断序列是不是有多个解会出问题. 那么从i=0 ~l 假设读到问号,推断该问号成为(能否有效,该问号为)是否有效. 假设都有效,则必有多个解. 假设都无效,则无解 ...
- Lenovo E46A-Win 7_无线灯亮但无法启动(耽误3天以上您信吗.....)问题: wlan autoconfig 依赖服务或组无法启动
Lenovo E46A-Win 7_无线灯亮但无法启动(耽误3天以上您信吗.....)问题: wlan autoconfig 依赖服务或组无法启动 提示: windows7 无线连接服务wlan au ...