`
king_tt
  • 浏览: 2232244 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

junit学习笔记(一):JUnit的安装和测试原则

阅读更多
这里以一个加减乘除的类为例子。
 
最终工程如下:
 
 
 
1、导入junit的jar,不建议直接使用eclipse 中提供的包
junit的jar包下载:点击打开链接最新版本的是4.11
这里注意一个问题如果是用4.11版本的话,同时还要下载hamcrest 1.3,下载地址->点击打开链接,使用时,要同时导入这两个包才可以!!
如果是之前版本的,只需要导入一个junit的jar包就可以了
 
 
 
2、在src目录下编写服务代码,这里是一个只有加减乘除功能的类
package com.fjnu.util;

public class Calculate {
	public int add(int a, int b){
		return a+b;
	}
	public int minus(int a, int b){
		return a-b;
	}
	public int divide(int a,int b){
		return a/b;
	}
	public int multi(int a, int b){
		return a*b;
	}
}
 
3、创建测试类
基本原则:1、在eclipse中创建一个source folder命名为test
2、创建一个测试类所在的包,包的名称和要测试的类一致
package com.fjnu.util;

import org.junit.Before;
import org.junit.Test;
// 静态导入
import static org.junit.Assert.*;

public class TestCalculate {
	private Calculate cal;
	
	// 执行任意一个方法之前都会执行setUp方法
	@Before
	public void setUp(){
		cal = new Calculate();
	}
	
	// 加了@Test表示该方法是一个单元测试
 	@Test
	public void testAdd(){
		/*
		 * 以下是一个简单的断言的编写
		 * 第一个参数是如果出错给出的提示信息
		 * 第二个表示期望值,通常是用户指定的内容
		 * 第三个表示代码返回的实际值
		 */
	//	Assert.assertEquals("加法有问题", 34, cal.add(12,22));
 		/*
 		 * 由于包进行了静态导入之后
 		 * Assert中的所有静态方法就不用再添加类名了
 		 * 这样可以有效地兼容junit3
 		 */
 		assertEquals("加法有问题", 34, cal.add(12,22));
	}
 	@Test
 	public void testMinus(){
 		int res = cal.minus(12, 2);
 //		Assert.assertEquals("减法有问题", 10, res);
 		assertEquals("减法有问题", 10, res);
 	}
 	// 表示这个测试类应该抛出ArithmeticException,如果不抛出就报错
 	@Test(expected=ArithmeticException.class)
 	public void testDivide(){
 		int res = cal.divide(12, 0);
 		assertEquals("除法有问题", 6, res);
 	}
 	
 	// 时间单位为ms
 	@Test(timeout=190)
 	public void testTime() throws InterruptedException{
 	 	Thread.sleep(209);
 		int rel = cal.divide(12, 2);
 	}
 	
 	@Test
 	public void testMulti(){
 		int res = cal.multi(12, 2);
 		assertEquals("乘法有问题",24,res);
 	}
 	//hamcrest 1.3
}


 
 
4、Junit3和Junit4两者之间的区别是非常明显的
在Junit3,中如果某个类需要是测试类,必须将其继承于TestCase,如果某个方法需要是测试方法,必须让这个方法通过testXXX开头,在Junit3中如果希望指定某个测试方法运行之前运行某个初始化方法,这个方法名称必须是setUp,如果希望在某个测试方法运行之后运行某个释放资源的方法,这个方法的名称必须是tearDown
在Junit4中,一个POJO类就是一个测试类,测试方法通过@Test来标识,初始化方法通过@Before,释放资源的方法通过@After来标注。但是为了让junit4中的测试类在junit3中也可以使用,习惯于把初始化方法命名为setUp,释放资源的方法命名为tearDown,测试方法也同样以test开头
 
5、如何使用断言
在junit4中提供了一个Assert的类,这个类中有大量的方法进行断言的处理,在junit3中由于继承了TestCase,这个TestCase中提供了大量的Assert方法。 在junit4中,为了与junit3兼容,可以静态导入包Assert,即import static org.junit.Assert.*; 这样的话使用Assert中的所有静态方法就不用再添加类名了,可以有效地兼容junit3
 
 
6、expected参数,测试异常对象: @Test(expected=ArithmeticException.class),表示检查是否抛出ArithmeticException
       // 表示这个测试类应该抛出ArithmeticException,如果不抛出就报错
       @Test(expected=ArithmeticException. class)
       public void testDivide(){
             int res = cal.divide(12, 2);
             assertEquals( "除法有问题", 6, res);
      }


 
7、timeout参数,性能测试:@Test(timeout=190),表示要在190ms内完成
       // 时间单位为ms
       @Test(timeout=190)
       public void testTime() throws InterruptedException{
            Thread. sleep(189);
             int rel = cal.divide(12, 2);
      }
 
分享到:
评论

相关推荐

    JUnit学习笔记

    综上所述,“JUnit学习笔记”可能涵盖了JUnit的基本使用、核心概念、注解驱动的测试、异常处理、参数化测试,以及如何在开发环境中集成和使用JUnit进行测试。这份文档对于学习和掌握JUnit测试框架具有很高的参考价值...

    Junit学习笔记~

    Junit学习笔记,希望有用~~~~~~~~~~~~~~~~~~~~~~

    Junit学习笔记

    通过这份Junit学习笔记,你可以掌握单元测试的基本思想,熟练运用JUnit进行代码质量的保障。在实际开发中,单元测试不仅能帮助找出错误,还能在重构时提供安全保障,提高代码质量。不断学习和实践,你会发现自己在...

    Junit学习.rar

    13. **学习笔记**:个人的学习笔记可能包含了作者在实践过程中遇到的问题、解决方案和经验总结,对于学习者来说是一份宝贵的实战经验。 以上只是部分可能涵盖的知识点,实际的压缩包文件可能还包含更多细节和深入的...

    Junit良葛格学习笔记

    "Junit良葛格学习笔记"很可能包含了一系列关于如何有效利用JUnit进行测试的教程和示例。下面将详细阐述JUnit的核心概念、功能以及在实际开发中的应用。 1. **JUnit简介**: JUnit是由Ernst Leiss和Kent Beck开发的...

    Junit白盒测试学习文档

    《Junit白盒测试学习文档》是一份详细阐述如何使用JUnit进行白盒测试的学习资料,主要面向编程人员和软件质量保证工程师。白盒测试,又称结构测试或逻辑驱动测试,是一种根据程序内部逻辑结构和代码来设计测试用例的...

    JUnit学习笔记之NetBeans入门篇

    JUnit是Java编程语言中最常用的单元测试框架之一,用于编写和执行针对代码的自动化测试。它使得开发者能够在开发过程中尽早发现并修复错误,提高了软件的质量和可靠性。NetBeans是一款开源的集成开发环境(IDE),...

    Junit 4.0 学习笔记

    《Junit 4.0 学习笔记》 JUnit 是一个广泛使用的Java编程语言的单元测试框架,尤其在敏捷开发和持续集成环境中扮演着至关重要的角色。本文将深入探讨JUnit 4.0版本的主要特性、核心概念以及如何有效利用它进行单元...

    JUnit4学习笔记

    法在每个测试方法执行之后都要执行一次,相当于 JUnit3 中的 tearDown 方法,用于清理测试环境。@Test:这是 JUnit4 中的核心元数据,用于标记测试方法。当 JUnit4 运行测试时,会查找所有带有 @Test 注解的方法,并...

    junit4测试源码

    JUnit4是Java编程语言中最广泛使用的单元测试框架之一,它为开发者提供了编写和运行可重复、可靠的测试用例的工具。这个"junit4测试源码"可能包含了JUnit4框架的源代码,使得用户能够深入理解其内部工作原理,便于...

    北京圣思园 junit全套笔记及源码

    在“北京圣思园 junit 全套笔记及源码”中,你将深入学习 JUnit 的各种功能和最佳实践。以下是一些关键知识点: 1. **安装与配置**:首先,你需要了解如何在你的开发环境中安装 JUnit,通常是通过 Maven 或 Gradle ...

    Junit4学习笔记—入门篇.pdf

    ### JUnit4学习笔记——入门篇 #### 一、配置MyEclipse在项目中引入JUnit4.jar包 在使用JUnit4进行单元测试之前,首先需要确保开发环境已正确配置JUnit库。对于使用MyEclipse IDE的开发者来说,可以通过以下步骤...

    JUnit入门笔记~

    JUnit是Java编程语言中最常用的单元测试框架之一,用于编写和执行可重复的自动化测试。这篇入门笔记将带你深入了解JUnit的基本概念、使用方法以及其在实际开发中的应用。 **一、JUnit简介** JUnit是一个开源的、...

    junit个人学习笔记

    现在的版本都4.3.1,3.8.1的感觉好象不好找,虽然www.junit.org能够找到,但对我们这种英语不好的来说,还是不好找,再说了,现在好多的教程都是以3.8.1来写的,所以在这里把我找到的3.8.1传上来供大家以后下载 博文链接:...

    Junit In Action 学习笔记----下载不扣分,回帖加1分,童叟无欺,欢迎下载

    并提及了用Ant,maven和Eclipse来自动化Junit测试。 第二部分:测试策略 第6章:描述了如何用stub来执行单元测试。这一章介绍了一个连接到web服务器的示例应用,并描述了如何应用 Stub方法对远程URL的方法执行...

    JUnit3.X和4.X学习记录及用例

    总之,这个学习资源将带你深入理解JUnit的基本概念和高级特性,通过阅读`JUnit学习笔记.txt`并动手实践其中的示例,你将能熟练掌握如何利用JUnit3和JUnit4进行有效的单元测试,从而提升代码质量和项目稳定性。

    接口测试学习笔记一

    接口测试是软件测试中的一个重要环节,它主要用于验证系统组件之间...总的来说,接口测试学习笔记可能涵盖了接口设计、测试工具使用、测试用例编写、自动化测试实现等内容,对于提升开发者和测试人员的技能非常有帮助。

    Selenium+Eclipse+Junit+TestNG自动化学习笔记

    ### Selenium+Eclipse+JUnit+TestNG自动化测试学习笔记 #### 一、环境搭建与配置 **1. 安装 JDK** - **版本**: JDK 1.7 - **下载地址**: ...

    JUnit知识点滴集合笔记

    JUnit知识点滴集合笔记,这个包里面包括了好几篇文档,一定会让你对JUNIT有一个全新的认识。 JUnit 4 抢先看.doc JUnit in java 真正的测试用例实战.doc JUnit起步.doc junit实现过程.doc JUnit中如何测试异常.doc ...

Global site tag (gtag.js) - Google Analytics