JUnit快速入门
一、一个简单的Junit测试流程:
1、在项目中导入junit-4.7.jar包,
方法:右击项目,选择Build Path->Configure Build Path->Libraries->Add External JARS,选择junit-4.7.jar包的位置,导入。
注:如果想看junit的源代码,导入时一并将junit-4.7-src.jar这个源文件包一起导入即可。
2、写一个类,如在类中加入两个最简单的加减法的方法。
如:
public class JunitDemo {
public int add(int x,int y){
int z = x+y;
return z;
}
public int subtraction(int x,int y){
int z = x-y;
return z;
}
}
新建一个Junit测试类,方法:新建一个文件,类型为Junit Test Case,命名时最好是被测的类名+test,如JunitDemoTest
3、创建好junit测试类后,对每个需要测试的方法测试,如:
public class JunitDemoTest {
@Test
public void testAdd() {
int z = new JunitDemo().add(2, 3);
assertEquals(5, z);
}
@Test
public void testSubtraction(){
JunitDemo jd = new JunitDemo();
int z = jd.subtraction(5, 2);
assertEquals(3, z);
}
}
4、右击junit测试类,选择以junit的方式来运行,之后即可看见测试结果。
二、Junit中的Annotation
@Test public void method() 定义一个要测试的方法
@Before public void method() 在每一个测试之间都会被执行的方法,这个方法常用来进行一些测试环境的准备。
如:读入输入数据、初始化类等
@After public void method() 与@Before进行对应,做一个清理工作
@BeforeClass public static void method() 在所有的测试开始之前执行,这个方法在类运行的时候运行,而且只运行一次。
所有常用来做一些所有方法都要依赖到的工作,如:数据库的链接
@AfterClass public static void method() 与@BeforeClass进行对应,做一些类级别的清理工作
@Ignore 表示方法是被忽略的,这个方法非常实用,比如方法已经修改,但是对应的测试
方法还没有得到一致的修改的时候,可以用这个关键词忽略这个方法
@Test(expected==IIIegalArgumentException) 检查测试方法是不是抛出了相对应的异常
@Test(timeout=100) 如果方法的执行操作所消耗的毫秒数>100MS,那么方法失败
三、Junit单元测试用例的执行顺序:
@BeforeClass->@Before->@Test->@After->@AfterClass
注:每一个测试方法的调用顺序为:
@Before->@Test->@After
四、最重要的断言Assert,断言这里的方法太多,举几个例子好了,其他的自行查看API
assertEquals("message",A,B):检查A和B是否有相同的内容
assertSame("message",A,B):检查A和B是否是同一个对象
assertTrue("message",A):检查A条件是否为真
JUnit快速入门的更多相关文章
- 【Java】Junit快速入门
Junit介绍 JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JUnit ...
- SpringMvc_快速入门,深入分析
目录 一.前言二.spring mvc 核心类与接口三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明 ...
- Spring MVC 教程,快速入门,深入分析
http://elf8848.iteye.com/blog/875830/ Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门 资源下载: ...
- Spring_MVC_教程_快速入门_深入分析
Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门 资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf Spring ...
- Redis 快速入门
Redis 快速入门 谈到Redis,大家应该都不陌生.它是用c语言开发的一个高性能键值数据库,主要用于缓存领域.本章通过Redis的安装,Redis的五大数据类型,Redis的Java客户端,Red ...
- Mybatis3 快速入门
Mybatis3 快速入门 目前常见的持久层java框架有Hibernate,Mybatis,SpringData.笔者比较喜欢用SpringData.Hibernate 和 Mybatis 也经常用 ...
- Maven3 快速入门
Maven3 快速入门 Maven 是目前大型项目构建的必备知识.本章会通过介绍 Maven 的作用,Maven 的基本语法,以及搭建企业级项目架构来快速入门 Maven .前两部分是理论知识只需要了 ...
- SpringData 基于SpringBoot快速入门
SpringData 基于SpringBoot快速入门 本章通过学习SpringData 和SpringBoot 相关知识将面向服务架构(SOA)的单点登录系统(SSO)需要的代码实现.这样可以从实战 ...
- Gradle 1.12 翻译——第九章 Groovy快速入门
由于时间关系,没办法同时做笔记和翻译,关于Gradle的用户指南,本博客不再做相关笔记,而只对未翻译章节进行翻译并在此发表. 有关其他已翻译的章节请关注Github上的项目:https://githu ...
随机推荐
- Python之模块二
10>常用模块: 1>os模块: os.getcwd():获取当前工作目录,即当前python脚本工作的目录路径: os.chdir("dirname"):改变当前脚本 ...
- web项目不能链接数据库
mysql的root没有权限 例如,你想root使用123456从任何主机连接到mysql服务器. 1 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@' ...
- php 将二维数组批量插入到数据库中
$arr = array( array(,'name'=>'ceshi4'), array(,'name'=>'ceshi5'), array(,'name'=>'ceshi6'), ...
- maven-plugins说明
maven提供了丰富的plugins. maven是一个插件执行的框架. 核心部分的描述: clean. clean插件. goal:clean 清除构建时生成的文件,文件目录 project.bui ...
- Xamarin.Forms中 Navigation,NavigationPage详解
1.Xamarin Forms下有四个成员类:Element,VisualElement,Page,NavigationPage 基类为Element,继承的子类分别是VisualElement,Pa ...
- .net core 2.0 mvc 获取配置信息
mvc_core_config *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 ...
- Performance profile of a typical interior scene
------------------------------- Num faces: 7000k+ Num lights: 38 Num textures: 79 Textures on disk: ...
- JavaScript作用域详解
作用域在JavaScript中是非常重要的概念,理解了它对更深入地理解闭包等概念都有很大的帮助,这篇文章就来谈谈我对作用域的理解. 一.全局作用域与局部作用域 在JavaScri ...
- mysql into outfile 和 load data local备份还原
在 my.ini 的 [mysqld] 节点增加如下配置: secure-file-priv="D:/mysql_secure_file" max_allowed_packet= ...
- 初学python - 字典
字符串转为字典 import astline=input()linedict=ast.literal_eval(line) 遍历字典 for key in linedict: value=linedi ...