junit补遗

经过一个月的接口测试实践,加上同事整理的PPT,这里罗列一下,一些有关Junit的知识点。
 
Junit是什么?
JUnit是开放源代码项目,可按需要进行扩展。 
这个框架提供了许多 断言(assert)方法,允许你设置测试的规则,如:assertEquals()、assertNull()、assertNotSame()、assertTrue()等方法,一个测试用例包括了多个断言,当运行测试用例后,JUnit运行器会报告哪些断言没有通过,开发人员就可顺藤摸瓜搞个水落石出了。
 
而传统的测试方法需要将期望的结果用诸如 System.out.println()等语句将过程信息打印到控制台或日志中,由开发人员观察输出信息以判断是否正确,现在这种“观察”的工作由JUnit的那些assertXxx()方法自动完成。
 
junit3.x与junit4.x的区别?
1、JUnit3.x中测试必须继承TestCase,并且每个方法名必须以test开头。比如:testMethod1(),在JUnit4.x中不必继承TestCase,采用了注解的方式。只要在测试的方法上加上注解@Test即可,从而不必再遵循以前的一些显式约定和反射定位测试;在JUnit4.x中如果继承了TestCase,注解就不起作用了。
 
2、JUnit4引入了一个JUnit3中没有的新特性。任何用@BeforeClass 注释的方法都将在该类中的测试方法运行之前刚好运行一次,而任何用@AfterClass注释的方法都将在该类中的所有测试都运行之后刚好运行一次
——可以理解为类范围的 setUp() 和tearDown() 方法。
 
junit4.x捕获异常的方式?
 1、try …catch
testM()      
  {       
      try{      
             M(a,   b);      
     } catch (Exception   e){      
       //成功的捕捉了这个异常      
  }       
}      
 
2. @Test(expected=Exception.class)
 使用@Test标注的expected属性,
JUnit框架就能自动帮我们检测是否抛出了我们指定的异常。
如下所示: 
@Test(expected = ArithmeticException. class
          public  void divideByZero() { 
                    calculator.divide(0);    
}
 
 
JUnit 基础断言
             
  assertEquals(a,b)  a是否等于b
 assertSame(a,b) a,b是否引用同一个对象
 assertNull(a) a为空,a是一个对象
 assertNotNull(a) a不为空,a是一个对象
 assertTrue(a) a为真,a可以是一个条件判断语句
 assertFalse(b) b为假,b可以是一个条件判断语句
 
 
用Junit3.x执行用例的框架
TestCase实例被运行时,依照以下步骤运行:
    1.创建测试用例的实例。
    2.调用setUp()方法,执行一些初始化工作。
 3.运行testXxx()测试方法。
 4.调用tearDown()方法,执行销毁对象的工作。
 
这样我们只能一个一个用例的执行,介绍一个方法:
TestSuite对象将多个测试用例组装成到一个测试套件,则测试套件批量运行。
 
import org.junit.runners.Suite; 

import junit.framework.TestSuite; 

@RunWith(Suite. class)        
@Suite.SuiteClasses({            
PersonTest. class,         
PersonTest2. class,         
})        
public  class AllTest {        
}    
 
TestSuite处理测试用例时有5个规则,如下:
1  测试用例必须是公有类(Public)。
2  测试用例必须继承TestCase类。
3  测试用例的测试方法必须是公有的(Public)。
4  测试用例的测试方法必须被声明为void。
5  测试用例中测试方法的前置名词必须是test。
 
其中,1,3,4在junit4.x中也是需要的规则。
 
Junit写测试的注意要点:
1.   测试建立自己的工程,不要和开发代码混在一个工程里;
2.   测试用例和测试数据分离;
3.   测试类和测试方法应该有一致的命名方案;
     如在工作类名前加上test从而形成测试类名 
4.   确保测试与时间无关,不要依赖使用过期的数据进行测试。导致在随后的维护过程中很难重现测试 ;
5.   确保测试用例的独立性,尽量减少测试用例之间的依赖;
6.   测试要尽可能地小,执行速度快。

本文出自 “菜鸟也要修炼技术” 博客,请务必保留此出处http://vicky001.blog.51cto.com/2004660/382373

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值