之前测试一个方法总要写一个main函数来调用,感觉既费事又有点low。今天来简单研究一下怎么使用junit来进行单元测试。

1. 依赖包

        <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>

2. 开始测试吧

例子1,使用@Test注解:

选中方法名test1--》右键--》Run As--》JUnit Test,哈哈,不用main方法也执行成功啦

import org.junit.Test;

public class TestJunit {

    @Test
public void test1() {
System.out.println("我的第一个junit的小例子...");
}
}

例子2,使用Assert:

import org.junit.Test;
import org.junit.Assert; public class TestJunit { @Test
public void test2() {
int val1 = 10;
int val2 = 12;
int sum = val1 + val2;
// 使用Assert来把某个变量值和预期值进行比较
// 和预期值不同时,到junit窗口去看错误栈吧
Assert.assertEquals(sum, 21);
}
}

例子3,使用@Before注解:

@Before一般用于实例化测试方法中需要用到的java对象,或链接数据库等情景。

import org.junit.Before;
import org.junit.Test;
import org.junit.Assert; public class TestJunit { Utils utils = null; @Before
public void before() {
utils = new Utils();
} @Test
public void test2() {
int sum = utils.add(12, 13);
Assert.assertEquals(sum, 25);
}
} class Utils {
public int add(int num1, int num2) {
return num1 + num2;
}
}

例子4,使用@After注解:

一般用于关闭连接,关闭流等操作,此处就不提供例子啦。用法同@Before注解。

例子5,使用@Test预期值:

import org.junit.Before;
import org.junit.Test; public class TestJunit { Utils utils = null; @Before
public void before() {
utils = new Utils();
} @Test(expected = ArithmeticException.class)
public void test() {
utils.divide(4, 0);
}
} class Utils { public int divide(int num1, int num2) {
return num1 / num2;
}
}

注释:

a, 如果报错,可查看Junit窗口的错误栈信息,会给出预期值和实际值,以及报错信息。无论对错,总要来看一下执行结果吧。

b, 如果想一次测试所有方法,不要选中方法,选中类名--》右键--》Run As--》JUnit Test。

c, 类中不想使用Assert类来调用assertEquals方法了怎么办,直接静态引用Assert类的所有方法,"import static org.junit.Assert.*;"

junit4主要注解介绍:

@BeforeClass 全局只会执行一次,而且是第一个运行
@Before 在测试方法运行之前运行
@Test 测试方法
@After 在测试方法运行之后允许
@AfterClass 全局只会执行一次,而且是最后一个运行
@Ignore 忽略此方法

写的不好,只为自己做笔记,下面链接本园子一个相当棒的介绍Junit的文章。

文章:Java单元测试(Junit+Mock+代码覆盖率)

地址:http://www.cnblogs.com/AloneSword/p/4109407.html

junit的简单用法的更多相关文章

  1. CATransition(os开发之画面切换) 的简单用法

    CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...

  2. jquery.validate.js 表单验证简单用法

    引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...

  3. NSCharacterSet 简单用法

    NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...

  4. [转]Valgrind简单用法

    [转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...

  5. Oracle的substr函数简单用法

    substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 subst ...

  6. Ext.Net学习笔记19:Ext.Net FormPanel 简单用法

    Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...

  7. TransactionScope简单用法

    记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...

  8. WPF之Treeview控件简单用法

    TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...

  9. listActivity和ExpandableListActivity的简单用法

    http://www.cnblogs.com/limingblogs/archive/2011/10/09/2204866.html 今天自己简单的总结了listActivity和Expandable ...

随机推荐

  1. orcale存储过程学习之路(一)

    ----------------------------------------- 建表 ------------------------------------------ create table ...

  2. 纯css控制文字2行显示多余部分隐藏

    在编写页面的时候,经常遇到一些地方的文字显示1行,多余的文字隐藏,这样显示1行的很好控制: css代码如下: white-space: nowrap; overflow: hidden; text-o ...

  3. loadrunner 性能测试报error-27796的解决

    网上观点: 在注册表HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcpip/Parameters里,有如下两个键值:TcpTimedWai ...

  4. SpringBoot系列三:SpringBoot基本概念(统一父 pom 管理、SpringBoot 代码测试、启动注解分析、配置访问路径、使用内置对象、项目打包发布)

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.了解SpringBoot的基本概念 2.具体内容 在之前所建立的 SpringBoot 项目只是根据官方文档实现的一个基础程 ...

  5. Lambda动态排序

    private static IList<T> IListOrderBy<T>(IList<T> list, string propertyName) where ...

  6. ubuntu下查看windows的 txt 文件乱码

    在终端执行 gsettings set org.gnome.gedit.preferences.encodings auto-detected "['UTF-8','GB18030','GB ...

  7. wapp HTTP Error 404. The requested resource is not found.

    原因: 本地80端口被占用,需要修改WAMP的默认端口 修改设置: 找到 bin/apache/apache***/conf/httpd.conf文件 将文件中的80修改为8088 修改这两个地方端口 ...

  8. NPOIHelp 按固定模板导出和直接导出

    完整代码如下 using System; using System.Collections.Generic; using System.Data; using System.Text; using N ...

  9. image 和 barplot 的组合

    代码示例: par(mfrow = c(1, 2)) par(mar = c(1, 10, 1, 0), las = 1, ann = F) image(1:10, 1:10, matrix(samp ...

  10. 无向带权图的最小生成树算法——Prim及Kruskal算法思路

    边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权. 最小生成树(MST):权值最小的生成树. 生成树和最小生成树的应用:要连通n个城市需要n-1条边线路.可以 ...