JUnit4 学习总结

转载 2013年12月03日 00:01:27

转载自:http://blog.csdn.net/xiazdong/article/details/7317376

一、JUnit介绍

Junit是 Erich Gamma 和 Kent Beck编写的测试框架,是我们在软件工程所说的白盒测试。

使用也很简单,只需要在Eclipse导入JAR包即可;

下载地址:https://github.com/downloads/KentBeck/junit/junit4.10.zip

 

二、JUnit4和JUnit3的比较

 

JUnit3 JUnit4
测试类需要继承TestCase 不需要继承任何类
测试函数约定:public、void、test开头、无参数 需要在测试函数前面加上@Test

每个测试函数之前setUp执行

@Before
每个测试函数之后tearDown执行 @After
没有类加载时执行的函数 @BeforeClass和@AfterClass

 

三、JUnit4详解

 

1.@Test用来标注测试函数

2.@Before用来标注此函数在每次测试函数运行之前运行

3.@After用来标注此函数在每次测试函数运行之后运行

4.@BeforeClass用来标注在测试开始时运行;

5.@AfterClass 用来标注在测试结束时运行;

6.Assert类中有很多断言,比如assertEquals("期望值","实际值");


代码示例:

Person.java

[java] view plaincopy
  1. package org.xiazdong;  
  2.   
  3. public class Person {  
  4.     private String name;  
  5.     private int age;  
  6.     public String getName() {  
  7.         return name;  
  8.     }  
  9.     public void setName(String name) {  
  10.         this.name = name;  
  11.     }  
  12.     public int getAge() {  
  13.         return age;  
  14.     }  
  15.     public void setAge(int age) {  
  16.         this.age = age;  
  17.     }  
  18.     public Person(String name, int age) {  
  19.         this.name = name;  
  20.         this.age = age;  
  21.     }  
  22.       
  23. }  

PersonTest.java

此测试是用JUnit3测试的;

[java] view plaincopy
  1. package org.xiazdong.junit;  
  2.   
  3. import junit.framework.Assert;  
  4. import junit.framework.TestCase;  
  5.   
  6. import org.xiazdong.Person;  
  7.   
  8. public class PersonTest extends TestCase {  
  9.       
  10.     @Override  
  11.     protected void setUp() throws Exception {  
  12.         System.out.println("setUp");  
  13.     }  
  14.   
  15.     @Override  
  16.     protected void tearDown() throws Exception {  
  17.         System.out.println("tearDown");  
  18.     }  
  19.   
  20.     public void testFun1(){  
  21.         Person p = new Person("xiazdong",20);  
  22.         Assert.assertEquals("xiazdong", p.getName());  
  23.         Assert.assertEquals(20, p.getAge());  
  24.     }  
  25.     public void testFun2(){  
  26.         Person p = new Person("xiazdong",20);  
  27.         Assert.assertEquals("xiazdong", p.getName());  
  28.         Assert.assertEquals(20, p.getAge());  
  29.     }  
  30. }  

PersonTest2.java

此测试是用JUnit4测试的;

[java] view plaincopy
  1. package org.xiazdong.junit;  
  2.   
  3. import junit.framework.Assert;  
  4.   
  5. import org.junit.After;  
  6. import org.junit.AfterClass;  
  7. import org.junit.Before;  
  8. import org.junit.BeforeClass;  
  9. import org.junit.Test;  
  10. import org.xiazdong.Person;  
  11.   
  12. public class PersonTest2 {  
  13.       
  14.     @Before  
  15.     public void before(){  
  16.         System.out.println("before");  
  17.     }  
  18.     @After  
  19.     public void after(){  
  20.         System.out.println("After");  
  21.     }  
  22.     @BeforeClass  
  23.     public void beforeClass(){  
  24.         System.out.println("BeforeClass");  
  25.     }  
  26.     @AfterClass  
  27.     public void afterClass(){  
  28.         System.out.println("AfterClass");  
  29.     }  
  30.     @Test  
  31.     public void testFun1(){  
  32.         Person p = new Person("xiazdong",20);  
  33.         Assert.assertEquals("xiazdong", p.getName());  
  34.         Assert.assertEquals(20, p.getAge());  
  35.     }  
  36.     @Test  
  37.     public void testFun2(){  
  38.         Person p = new Person("xiazdong",20);  
  39.         Assert.assertEquals("xiazdong", p.getName());  
  40.         Assert.assertEquals(20, p.getAge());  
  41.     }  
  42. }  

Java之JUnit4的学习

JUnit4的简单介绍先看看什么是xUnit? xUnit是一套基于测试驱动开发的测试框架,其包含用于Python单元测试的PythonUnit和C++单元测试的CppUnit,以及Java的JUni...
  • qq_35508033
  • qq_35508033
  • 2017年03月16日 16:46
  • 895

Junit4 标注总结

1.Junit4 标注总结 2.测试方法总结 3.assertThat语句的基本使用 该语句是代替原来的断言语句,以一种可读性更强的形式呈现断言。 使用时,注意导入:(Ecli...
  • screensky
  • screensky
  • 2012年07月17日 19:28
  • 2171

JUnit4学习总结

现在一般使用的是Junit4。JUnit4比3方便很多,可以使用注解的方式 即写一个测试类。然后在某个方法上添加@Test即可。 BeforeClass、AfterClass在一个Test类的所有...
  • baidu_18607183
  • baidu_18607183
  • 2014年08月13日 12:17
  • 477

Junit4 新功能学习总结

1.Junit4 标注总结 2.测试方法总结 3.assertThat语句的基本使用 该语句是代替原来的断言语句,以一种可读性更强的形式呈现断言。 使用时,注意导入:(Ecli...
  • shizhan1881
  • shizhan1881
  • 2012年06月13日 15:40
  • 503

十月学习总结 大学的第一个月

来到烟台两个月了,而真
  • zp___waj
  • zp___waj
  • 2014年11月03日 11:34
  • 2963

JAVA 学习 自我总结

学习总结: 孔子曰学而时习之 不亦悦乎 。学习了新的东西,一定要及时练习和总结,并多次回想记忆,这样才能将知识记忆的牢固; 之前我学习东西只知道贪多,想一口吃一个胖子;但是每次都是事倍功半,这样又...
  • u010582345
  • u010582345
  • 2016年04月08日 23:58
  • 425

2017年度学习总结

2017上半年,移动平台游戏开发基础,学习了灵活的JavaScript语言,也做了几个像模像样的游戏,JQuary库和其他库的的引用也很受益。想想原来,每种框架都想入门试试,可忽略了开发者最基本的底层...
  • Prototype___
  • Prototype___
  • 2017年12月31日 07:09
  • 371

Hibernate学习总结(一)

1、什么是Hibernate Hibernate是轻量级JavaEE应用的持久层解决方案,是一个关系数据库ORM框架(ORM,对象关系映射 Object Relationship mapper) ...
  • u012750846
  • u012750846
  • 2015年09月07日 15:36
  • 804

程序员的学习总结

数据结构+算法 网络编程 分布式框架
  • very_loong
  • very_loong
  • 2017年09月16日 10:44
  • 250

C#学习总结(一)

(一)基本概念 .NET框架,CLR和C#之间的关系。 .NET是一个独立发布的软件包,包括CLR,类库 和相关语言编译器 C#代码 经编译后 在CLR环境运行  ...
  • doupei2006
  • doupei2006
  • 2012年09月30日 18:09
  • 1417
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JUnit4 学习总结
举报原因:
原因补充:

(最多只允许输入30个字)