15.junit测试类使用及注解
程序员文章站
2023-04-04 11:39:02
1.junit简介 JUnit是一个Java语言的单元测试框架,可以大大缩短你的测试时间和准确度。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。 2.实现junitDemo示例 2.1首先创建一个project: 2.2然后输入项目名,点击finish: 2.3然后在src里创建我 ......
1.junit简介
junit是一个java语言的单元测试框架,可以大大缩短你的测试时间和准确度。多数java的开发环境都已经集成了junit作为单元测试的工具。
2.实现junitdemo示例
2.1首先创建一个project:
2.2然后输入项目名,点击finish:
2.3然后在src里创建我们要测试的mathdemo类:
2.4输入mathdemo类名,点击finish:
2.5 matchdemo类定义如下:
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测试类如下所示:
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,则会出现警告:
双击后,可以看到已经忽略警告:
未完待续,下章学习xml解析