JUnit(二) 测试结果和注解

来源:互联网 发布:折扇定制 淘宝 编辑:程序博客网 时间:2024/06/06 11:36

转载地址:http://www.cnblogs.com/fnng/archive/2011/09/02/2164409.html


 =============本节知识点============================

*     Error和Failures

*    Junit4 Annotation

==================================================================

 

1.   在讲注解之前,先来认识 Error和Failures这两种错误有什么不同。

 

Errors:表示程序本身错误

 

 

@Test    publicvoid testAdd() {        int z=new T().add(5,3);        assertEquals(8,z);        int a=8/0;  //这一句是有错误的    }

 

运行方法,会有一下错误提示:

Failures: 是指测试失败。

@Test    publicvoid testAdd() {        int z=new T().add(5,4); //这里修改了数值,把4该为3就正确了         assertEquals(8,z);    }

在来运行这个方法,看一下错误提示:

所以,我们在写测试程序的时候,要先保证Errors是没有错误的,再来看Failures有没有错误。

 

2.  下面介绍junit4 的常用注解

-----------------------------------------------------------------------------------------------

*             @ Test:测试方法

                  A)  (expected=XXEception.class)

  

                B)  (timeout=xxx)


*.           @ Ignore: 被忽略的测试方法


*.           @Before: 每一个测试方法之前云行。

*.           @After : 每一个测试方法之后运行。

*.           @BefreClass 所有测试开始之前运行。

*.           @AfterClass 所有测试结果之后运行。

注意:

@BeforeClass和@AfterClass标识的方法,必须使用static void修饰

@Before和@After常用情况:测试前需要打开文件,测试后关闭文件

@BeforeClass常用情况:建立数据库连接


------------------------------------------------------------------------------------------------

下面通过一个测试程序来解释这些注解含义

复制代码
package com.junit4.cc.test;importstatic org.junit.Assert.*;importstatic org.hamcrest.Matcher.*;import org.junit.Test;import com.junit4.cc.*;import org.junit.Before;import org.junit.BeforeClass;import org.junit.AfterClass;import org.junit.After;import org.junit.Ignore;publicclass TTest {        @BeforeClass  //的所有方法运行之前运行。publi cstatic void beforeClass(){        System.out.println("------------beforeClass");    }        @AfterClass   //在所有方法运行之后运行public static void afterClass(){        System.out.println("-------------afterClass");    }        @Before   //每个测试方法运行之前运行publicvoid before(){        System.out.println("=======before");    }        @After   //每个测试方法运行之后运行publicvoid after(){        System.out.println("=======after");    }    @Test    publicvoid testAdd() {        int z=new T().add(5,3);        assertEquals(8,z);        System.out.println("test Run through");    }        @Test ()    publicvoid testdivision(){              System.out.println("in Test Division");    }    @Ignore   //表示这个方法是不被运行的    @Test    (expected=java.lang.ArithmeticException.class,timeout=100) //timeout表示要求方法在100毫秒内运行完成,否则报错publicvoid testDivide(){        int z =new T().divide(8,2);    }        }
复制代码

运行结果如下:

标记红星(*)方法在每个方法开始和结尾都运行一次。

标记绿星(*)的方法只在所有方法的开始和结尾运行一次。

junit有多种注解,我们常用的也就上面几种。

0 0
原创粉丝点击