15.junit测试类使用及注解
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,则会出现警告:

双击后,可以看到已经忽略警告:

5.如果我们不想在junit里写测试方法.直接运行被测试的方法
在被测方法前面添加@Test即可,如下所示,比如测试DomParseTest类的DomTest方法:

未完待续,下章学习 16.XML语法、CDATA、约束(DTD、Schema)讲解
15.junit测试类使用及注解的更多相关文章
- Spring4.2.3+Hibernate4.3.11整合( IntelliJ maven项目)(使用Annotation注解)(Junit测试类)
1. 在IntelliJ中新建maven项目 给出一个建好的示例 2. 在pom.xml中配置依赖 包括: spring-context spring-orm hibernate-core mysql ...
- 在Eclipse中生成接口的JUnit测试类
在Spring相关应用中,我们经常使用“接口” + “实现类” 的形式,为了方便,使用Eclipse自动生成Junit测试类. 1. 类名-new-Other-java-Junit-Junit Tes ...
- Javaspring+mybit+maven中实现Junit测试类
在一个Javaspring+mybit+maven框架中,增加Junit测试类. 在测试类中遇到的一些问题,利用spring 框架时,里面已经有保密security+JWT设定的场合,在你的secur ...
- 高并发秒杀系统--junit测试类与SpringIoc容器的整合
1.原理是在Junit启动时加载SpringIoC容器 2.SpringIoC容器要根据Spring的配置文件加载 [示例代码] package org.azcode.dao; import org. ...
- Springboot测试类之@RunWith注解
@runWith注解作用: --@RunWith就是一个运行器 --@RunWith(JUnit4.class)就是指用JUnit4来运行 --@RunWith(SpringJUnit4ClassRu ...
- maven编译的时候排除junit测试类
maven项目中使用junit进行单元测试,在进行编译的时候,可以通过2种方式排除test测试类的编译. 有2种方式 : 使用命令的时候带上参数 mvn install -Dmaven.test.sk ...
- junit测试类防止事务回滚-工作心得
本随笔文章,由个人博客(鸟不拉屎)转移至博客园 发布时间: 2018 年 12 月 06 日 原地址:https://niaobulashi.com/archives/junit-test-rollb ...
- Idea如何快速生成Junit测试类
测试是保证代码必不可少的环节,自己构建测试方法太慢,并且命名也不规范,idea中提供了,一键构建测试结构的功能... 2.步骤 1.在需要做测试的类的当前窗口,直接按快捷键:按ctrl+shift+t ...
- IntelliJ IDEA快速自动生成Junit测试类
1.背景 测试是保证代码必不可少的环节,自己构建测试方法太慢,并且命名也不规范,idea中提供了,一键构建测试结构的功能...废话不多说,直接写步骤 2.步骤 1.在需要做测试的类的当前窗口,直接按快 ...
随机推荐
- Linux下用Docker部署接口安全的运行环境
背景:MySQL数据库运行在宿主机上(Linux) 需求:Redis.服务.页面分别运行在独立的docker中,并处于同一网络,容器内部重要目录要挂载在物理目录,保证数据安全 方法: 一.设置网络环境 ...
- mybatis的@Options的使用
1.问题: 我采用的是mybatis的注解方式,打算插入一条数据之后返回主键,但是试了好几次都是返回的影响的记录数:1, @Insert(****) @Options(useGeneratedKeys ...
- PHP页面跳转三种实现方法
一.header()函数 header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器.header()函数的定义如下 ...
- vue使用tips
1. native修饰符可以用来绑定原生事件 2. destroyed在列表重渲染时,销毁的列表项会调用. 3. 并不是所有的数据都适合放入vuex 4. 子组件mounted先于父组件发生. 5. ...
- Leecode_98_Validate_Binary_Search_Tree
Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as ...
- 饶有特色的 CSS3 展示横条.html
- #化鲲为鹏,我有话说# 鲲鹏弹性云服务器配置 Tomcat
在鲲鹏弹性云服务器上配置 Tomcat 1 下载 Tomcat 地址 :http://tomcat.apache.org/ 根据需要选择版本,这里使用 Tomcat 9,下载压缩包 2 将文件发送到服 ...
- luogu P3984 高兴的津津
题目描述 津津上高中了.她在自己的妈妈的魔鬼训练下,成为了一个神犇,每次参加一次OI比赛必拿Au虐全场.每次她拿到一个Au后就很高兴.假设津津不会因为其它事高兴,并且她的高兴会持续T天(包包含获奖当天 ...
- http状态码_____ 204/206/200
HTTP的状态码有很多种,主要有五个大类 1xx(临时响应) 2xx(成功) 3xx(已重定向) 4xx(请求错误) 5xx(服务器错误) 每个大类还对应一些具体的分类.平时我们接触比较多的是200. ...
- Node升级——Node Binary管理模块"n"
Node.js的开发非常活跃,它的最新稳定版本也频繁变化,你不时会发现,一个模块不能在你当前的Node版本上使用,此时你需要升级Node 幸运的是,可以用一种非常简单的方法来管理你的Node版本,即使 ...