15.junit测试类使用及注解

 1.junit简介

JUnit是一个Java语言的单元测试框架,能够大大缩短你的测试时间和准确度。多数Java的开发环境都已经集成了JUnit做为单元测试的工具。html

 

2.实现junitDemo示例

2.1首先建立一个project:数据库

 

2.2而后输入项目名,点击finish:框架

 

2.3而后在src里建立咱们要测试的mathDemo类:ide

 

2.4输入mathDemo类名,点击finish:工具

 

2.5 matchDemo类定义以下:post

package com.my.mathdemo;

public class mathDemo {
    public int add(int a,int b)
    {
        return a+b;
    }
    public int multiply(int a,int b)
    {
        return a*b;
    }
}

接下来咱们便来建立junit,来测试mathDemo类的add和multiply方法单元测试

 

2.6 而后咱们建立一个junit测试类学习

 

2.7输入junit名,点击finish:测试

 

2.8 TestMyMath测试类以下所示:spa

public class TestMyMath {

    @Test
    public void testAdd() {
        mathDemo math = new mathDemo();
        assertEquals(math.add(11, 5), 16);     //测试11+5是否等于16

        assertEquals(math.add(3, 5), 9);       //故意写个错误的加法测试
    }

    @Test
    public void testMultiply() {
        mathDemo math = new mathDemo();
        assertEquals(math.multiply(10, 5), 50);    //测试10*5是否等于50
    }
}

在上面,咱们故意写了一个错误的测试,而后run运行后,以下图所示,能够看到报错log:

 

 

3.为何测试方法前面要加@Test?

这是jdk1.5新增长的注解功能,而且对于junit类而言,每一个方法前的注解必须存在,不然会报错,由于编译器不知道这个方法是用来测试哪一个用途上.

而@Test表示该方法为测试方法,除了@Test外还有:

  • @BeforeClass  : 该方法表示启动测试类对象测试以前启动的方法, 因此该方法必须是static 修饰的(能够经过类名直接访问).通常用来打开配置文件,初始化资源等
  • @AfterClass   :该方法表示测试类对象测试完成以后启动的方法, 因此该方法必须是static 修饰的(能够经过类名直接访问).通常用来关闭数据库,结束资源等
  • @Before          :该方法表示调用每一个测试方法前都会被调用一次
  • @After             :该方法表示调用每一个测试方法后都会被调用一次
  • @Ignore          :已经被忽略的测试方法 ,咱们测试的话,会自动过滤掉 

 

4.而JAVA内置注解有三种(除此外,还有其它注解,后面遇到在详细补充)

  • @Deprecated :   表示该方法已被弃用(通常表示该方法不适合当前版本),通常会有最新的方法来替代它
  • @Override:         覆盖父类方法
  • @Suppvisewarning:    忽略警告,好比咱们定义了一个未使用的变量,或者调用一个已经被弃用的方法(经过@Deprecated声明的方法),都会出现警告,经过该注解则能够忽略掉

@Suppvisewarning经常使用的参数有:

  • @SuppressWarnings("all")  :         告诉编译器忽略掉全部警告
  • @SuppressWarnings("unused")  : 告诉编译器忽略掉未定义了未使用的变量
  • @SuppressWarnings("unchecked")  : 告诉编译器忽略 unchecked 警告信息,如使用List,ArrayList等未进行参数化产生的警告信息。
  • @SuppressWarnings("serial")  :  若是编译器出现这样的警告信息:The serializable class WmailCalendar does notdeclare a static final serialVersionUID field of type long  使用这个注释将警告信息去掉。
  • @SuppressWarnings("deprecation")  : 若是使用了使用@Deprecated注释的方法,编译器将出现警告信息。 使用这个注释将警告信息去掉。
  • @SuppressWarnings("unchecked", "deprecation")  : 告诉编译器同时忽略unchecked和deprecation的警告信息。

以下图所示,咱们定义一个未使用的int i,则会出现警告:

 

双击后,能够看到已经忽略警告:

 

 

 

未完待续,下章学习 16.XML语法、CDATA、约束(DTD、Schema)讲解

相关文章
相关标签/搜索