00014.07 JUnit的注解(@Test、@Before、@Afte、@BeforeClass、@AfterrClass)_单元测试 beforeclass-程序员宅基地

技术标签: javaSE  

一、JUnit是什么?

在这里插入图片描述
因为他不是JDK里面的东西 但是eclipse支持因此我们用的时候就需要去导入
白盒测试就是程序员自己测试
黑盒测试就是从用户的角度,我不需要知道你代码是怎么实现的,比如登录,我只知道输入用户名密码就行了,登录不了就是有问题,
黑盒测试不管你代码是怎么实现的,流程是怎么走的
白盒测试的我知道它代码怎么写的,流程怎么走的然后我去测试它
黑盒测试不知道问题的根源在哪里,白盒测试可以找到问题的根源

二、使用步骤

1、引用相关的库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如果是新版的JDK的话,可能Junit的版本也会更新

在这里插入图片描述
建议用4,因为这是目前最好用的一个版本
在这里插入图片描述
导进来之后就如上图,多了一个JUnit4
然后怎么使用呢?
看下面例子
在这里插入图片描述
根据我们以前的经验,这个方法是运行不了的,因为不在main方法里面
现在我们加一个@Test 试试

@Test、@Before、@After

用Test标记的方法就可以作为一个1单元进行测试
在这里插入图片描述
如何运行呢?
在这里插入图片描述
需要注意的是,如果某个类中,有多个@Test标记的方法,那么如果没有选择运行哪一个,就会都运行,如果选择了,就会运行其中一个
下面我们再看看其它的
@Before:在xx之前,会在每一个@Test方法之前执行
@After:在xx之后,会在每一个@Test方法之后执行

@BeforeClass 在xx 最前,会在类初始化阶段完成,只执行一次,并且要求方法是静态的
@AfterrClass 在xx 最后,会在类卸载阶段完成, 只执行一次,并且要求方法是静态的

在这里插入图片描述
(1)单元测试的方法要求都是public
(2)单元测试的方法必须是无参的
(3)单元测试的方法必须要没有返回值,即返回值是void(不能是int String 等)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
@BeforeClass 最开始

@AfterrClass 最后
在这里插入图片描述
加上static
在这里插入图片描述

执行效果是最开始,最后
在这里插入图片描述

总结

在实际开发当中@Test经常会用到,务必要搞清楚

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_41753340/article/details/108705683

智能推荐

MAC下SSL通讯问题、解决办法_mac:60ee5cf723b4-程序员宅基地

文章浏览阅读2.5k次。问题:请求https出现ssl通讯错误解决方法:1、创建cacert.pem文件,可直接拷贝以下代码段内容到cacert.pem中2、将文件放入指定文件夹中(文件夹可自定义,小编的默认目录为:/usr/local/etc/)3、修改php.ini文件,curl.cainfo = "/usr/local/etc/cacert.pem"4、重启PHP即可#### Bundle of CA Root Certificates#### Certificate data from Mo_mac:60ee5cf723b4

[BUUCTF]PWN——wustctf2020_getshell1/2_ctf 有system无bin/sh-程序员宅基地

文章浏览阅读1k次,点赞2次,收藏3次。wustctf2020_getshell附件步骤:例行检查,32位程序,开启了NX保护本地试运行一下程序,看看大概的情况32位ida载入,习惯性的检索程序里的字符串,发现了后门函数shell_addr=0x804851Bmain函数开始看程序vulnerable函数buf参数存在溢出漏洞,正好溢出8位,让我们覆盖到retexp:from pwn import*r=remote('node3.buuoj.cn',29690)shell_addr=0x804851B_ctf 有system无bin/sh

PHP7安装pdo_mysql扩展-程序员宅基地

文章浏览阅读2.9k次。因为自己在编译安装php7.2.7的时候,没有留意pdo_mysql失败。但是重新编译安装php7.2.7需要和长时间。百度了下,linux 有个 autoconfyum install autoconf -y 打开php安装包路径找到pdo_mysql进入文件夹检查扩展包是否问题/datas/soft/php72/bin/phpize设置..._php7 安装 pdo_mysql error: unknown type name ‘my_bool’ my_bool *in_null;

python自动化运维快速入门,python自动化运维项目-程序员宅基地

文章浏览阅读538次,点赞16次,收藏8次。大家好,本文将围绕python自动化运维需要掌握的技能展开说明,python自动化运维从入门到精通是一个很多人都想弄明白的事情,想搞清楚python自动化运维快速入门 pdf需要先了解以下几个事情。这篇文章主要介绍了一个有趣的事情,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。

Web_python_template_injection(Python模块注入)-程序员宅基地

文章浏览阅读1.1k次,点赞5次,收藏8次。Python的模块注入 flask/jinja2 常用于ssti的魔术方法 获取基类的几种方法 获取基本类的子类 采用os模块的listdir函数来读取目录 常用payload_web_python_template_injection

R语言与网站分析 第8章样本分…_r语言uniqueness-程序员宅基地

文章浏览阅读1.6k次。第八章:样本细分8.1数据降维因子载荷(loading):定义:第8章样本分析:聚类分析" TITLE="R语言与网站分析 第8章样本分析:聚类分析" />第8章样本分析:聚类分析" TITLE="R语言与网站分析 第8章样本分析:聚类分析" />5.特征值和信息损失率 P2966.因子得分:计算好因子载荷A和特殊因子e后,计算因子F的数据。计算方式有:加权最小二乘法(Bartle_r语言uniqueness

随便推点

java中getinputstream_Java Connection.getInputStream方法代码示例-程序员宅基地

文章浏览阅读1.1k次。import sun.rmi.transport.Connection; //导入方法依赖的package包/类/*** handleMessages decodes transport operations and handles messages* appropriately. If an exception occurs during message handling,* the sock..._conn.getinputstream()

深入理解Android中的Drawable类_自定义的png图片为什么要放到drawable中android-程序员宅基地

文章浏览阅读1.5k次。Drawable对于Android开发工程师来说非常熟悉,最常用的用法是在drawable目录里放入png或其他格式的图片,然后在代码里就可以用resources访问到如:// 访问test图片资源getResources().getDrawable(R.drwable.test);这里不是要讲Drawable资源怎么使用,而是来看一下这个类实现的一些原理以及它相关的一些子类的实现原理。..._自定义的png图片为什么要放到drawable中android

【网格生成】Gmsh快速入门教程 --3.Gmsh API_gmsh的api配置-程序员宅基地

文章浏览阅读4.4k次。在前面两篇文章1、2中我们分别介绍了图形化界面和内置解析器geo脚本的使用方式。今天来介绍下Gmsh的第三种使用方式:使用Gmsh API将其集成到其他软件中。意义将网格生成器与求解器等软件对接形成整体框架。获取Gmsh API几种方式通过官网下载SDK http://www.gmsh.info/bin/Windows/gmsh-git-Windows64-sdk.zippip install --upgrade gmsh (Python)在编译时加上 cmake -DENABLE_BUILD_gmsh的api配置

Ubuntu的复制粘贴操作及常用快捷键_ubuntu copy kuai jie jian-程序员宅基地

文章浏览阅读9w次,点赞22次,收藏107次。Ubuntu的复制粘贴操作 1.最为简单,最为常用的应该是鼠标右键操作了,可以选中文件,字符等,右键鼠标,复制,到目的地右键鼠标,粘贴就结束了。2.快捷键。一般通用的是Ctrl+C与Ctrl+V。不过通用也是有限制的,一般的程序下是没有问题,遇到终端就不行了。其实终端下默认的是 Ctrl+Shift+C,Ctrl+Shift+V,可以自己在编辑项下面自己设置为常用的。3.文件_ubuntu copy kuai jie jian

基于Springboot的宠物医院管理系统-JAVA【毕业设计、论文、源码、开题报告】_基于springboot的宠物医院管理系统国内外研究现状-程序员宅基地

文章浏览阅读5.8k次,点赞8次,收藏92次。1 绪论1.1 课题背景在信息技术高速发展的今天,新知识、新技术层出不穷,计算机技术早已广泛的应用于各行各业之中,利用计算机的强大数据处理能力和辅助决策能力叫,实现行业管理的规范化、标准化、效率化。管理信息系统(Management Information System,简称MIS〉是一个以人为主导,利用计算机软硬件技术以及网络通信技术,实现对信息的收集、传输、储存、更新。目前,管理信息系统广泛采用WEB技术作为开发的主要技术。在经过多年的技术积累与更新,WEB技术已经从一种简单的信息浏览和信息交互平台发展_基于springboot的宠物医院管理系统国内外研究现状

C++多线程:condition_variable_c++ condition_variable-程序员宅基地

文章浏览阅读2.6k次,点赞5次,收藏26次。官方定义在多线程编程中,有一种十分常见的行为:线程同步。线程同步是指线程间需要按照预定的先后次序顺序进行的行为。C++11对这种行为也提供了有力的支持,这就是条件变量(condition_variable和condition_variable_any)。条件变量位于头文件condition_variable下。condition_variable/condition_variable_any类是一个synchronization primitive,可用于阻止一个线程或同时阻止多个线程,直到另一个线程修改共_c++ condition_variable

推荐文章

热门文章

相关标签