junit的简单用法
之前测试一个方法总要写一个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的简单用法的更多相关文章
- CATransition(os开发之画面切换) 的简单用法
CATransition 的简单用法 //引进CATransition 时要添加包“QuartzCore.framework”,然后引进“#import <QuartzCore/QuartzCo ...
- jquery.validate.js 表单验证简单用法
引入jquery.validate.js插件以及Jquery,在最后加上这个插件的方法名来引用.$('form').validate(); <!DOCTYPE html PUBLIC " ...
- NSCharacterSet 简单用法
NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到 NSMutableCharacterSet *base = [NSMu ...
- [转]Valgrind简单用法
[转]Valgrind简单用法 http://www.cnblogs.com/sunyubo/archive/2010/05/05/2282170.html Valgrind的主要作者Julian S ...
- Oracle的substr函数简单用法
substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H' *从字符串第一个字符开始截取长度为1的字符串 subst ...
- Ext.Net学习笔记19:Ext.Net FormPanel 简单用法
Ext.Net学习笔记19:Ext.Net FormPanel 简单用法 FormPanel是一个常用的控件,Ext.Net中的FormPanel控件同样具有非常丰富的功能,在接下来的笔记中我们将一起 ...
- TransactionScope简单用法
记录TransactionScope简单用法,示例如下: void Test() { using (TransactionScope scope = new TransactionScope()) { ...
- WPF之Treeview控件简单用法
TreeView:表示显示在树结构中分层数据具有项目可展开和折叠的控件 TreeView 的内容是可以包含丰富内容的 TreeViewItem 控件,如 Button 和 Image 控件.TreeV ...
- listActivity和ExpandableListActivity的简单用法
http://www.cnblogs.com/limingblogs/archive/2011/10/09/2204866.html 今天自己简单的总结了listActivity和Expandable ...
随机推荐
- 如何在ROS中使用PCL—数据格式(1)
在ROS中点云的数据类型 在ROS中表示点云的数据结构有: sensor_msgs::PointCloud sensor_msgs::PointCloud2 pcl::PointCl ...
- 【转】使用Maven的一些小建议,希望你能喜欢
搭建私有仓库 Maven的仓库是用来存放Maven工程依赖的包的(通常为jar和pom,war包也可以依赖,在一些很复杂的项目中才能用到).仓库分为三种:中央仓库.第三方仓库.本地仓库. 中央仓库 由 ...
- windows sever2003安装Wamp 2.5不成功——VC 11不支持Windows Server 2003和win XP?
Windows Server 2003 安装Wamp 2.5不成功Wampserver 2.5 will not run on Windows XP 报错信息:C:\wamp\bin\apache\a ...
- SPRING---------配置文件的命名空间
两种格式的配置文件: DTD和Schema区别: Schema是对XML文档结构的定义和描述,其主要的作用是用来约束XML文件,并验证XML文件有效性.DTD的作用是定义XML的合法构建模块,它使用一 ...
- Java与编码问题串讲之二–如何理解java采用Unicode编码
Java开发者必须牢记:在Java中字符仅以一种形式存在,那就是Unicode(不选择任何特定的编码,直接使用他们在字符集中的编号,这是统一的唯一方法).由于java采用unicode编码,char ...
- 使用OpenSSL创建自己的CA root certificate
在密码学中,CA(Certificate Authority,认证机构)是指一个被多个用户信任的机构,该机构能够创建和指派公钥证书. 为规范起见,我们先介绍本文可能涉及的术语, asymmetric ...
- 记一次艰难的IBM X3850重装系统和系统备份经验
[贴心话] 刚刚把一切都搞定了,回到电脑前立马就写下的这篇文章,写的很细节,大家就耐心看看,有些细节是网上没有的,共享一下,仅供参考,以减少大家装机时遇到的困难. [面临处境] 机器型号:IBM X3 ...
- 使用selenium遇到java.lang.NoSuchMethodError: org.apache.xpath.XPathContext,排查
初试selenium webdriver,运行小程序,抛如下错误: java.lang.NoSuchMethodError: org.apache.xpath.XPathContext.<i ...
- 近阶段学习总结(EasyUI的使用)
最近阶段正在学习Js框架的使用,目前正在详细了解JQuery EasyUI 的使用. jQuery EasyUI 框架帮助我们轻松建立站点: easyui是一个基于jquery的集成了各种用户界面的插 ...
- 如何在eclipse中使用mvn clean install
1.在Maven项目或者pom.xml上右键——>Run As ——>“Maven Build...”或者Run Configuration——>“Maven Build” 2.在“ ...