junit补遗

虽然现在公司推行开发负责自己的代码,并提出单元测试覆盖率要达到75%以上,但是在我的工作中,经常要执行功能的接口测试和集成测试。所有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.   测试要尽可能地小,执行速度快。

你可能感兴趣的:(单元测试,JUnit,职场,休闲,接口测试)