Junti单元测试
Junit单元测试
## 测试分类
黑盒测试,白盒测试
黑盒测试,不需要写代码,给输入值,看程序是否能够输出期望的值
白盒测试,需要写代码的,关注程序的具体执行流程
Junit使用
是白盒测试
### 步骤
#### 1,定义一个测试类(测试用例)
建议:
• 测试类名:被测试的类名Test
• 包名:xxx.xxx.xx.test
#### 2,定义测试方法:最好可以独立运行
建议:
方法名:test测试的方法名
返回值:viod
参数:空参
#### 3,建议加@Test注释(加这个得加上junit依赖)
#### 4,判断结果,
控制台 红的失败
绿的成功。
这里的话,一般用断言操作来处理
代码:
Assert.assertEquals(期望结果,运算结果)
public class Junit {
public long add(long a , long b){
return a+b;
}
}
public class Test1 {
@Test
public void yunsuan(){
---->这里 Assert.assertEquals(4, new Junit().add(1, 2));
}
}
控制台结果:
java.lang.AssertionError:
预期:4
实际:3
<点击以查看差异>
两个注解
初始化方法:
用于所有资源申请,所以测试方法在执行前都会先执行该方法
加上注解
@Before
释放资源的方法:
在所有测试方法执行完后,都会自动执行该方法
加上注解
@After
反正就是
先在测试方法(Test注解)前执行有Before注解方法,在测试方法(Test注解)后执行After注解的方法
这些都是自动执行的
提醒:
用其他方法调用测试方法的时候,测试方法就是普通方法。
在直接编码时,所有测试方法都会走一遍,来个例子吧
public class Test1 {
int b=0;
static Test1 t=new Test1();
public long add(long a , long b){
return a+b;
}
public long jianfa(long a , long b){
return a-b;
}
public long chengfa(long a ,long b){
return a*b;
}
@Before
public void before(){
System.out.println("我先执行,算个1-1的减法吧:1-1="+t.jianfa(1,1));
}
@Test
public void yunsuan(){
System.out.println("测试第一次加法对不对:2是否等于1+2:"+(2==t.add(1,2)));
b++;
if (b!=10){
t.yunsuan2();
}
}
@Test
public void yunsuan2(){
System.out.println("测试第二次加法对不对:2是否等于1+1:"+(2==t.add(1,1)));
b++;
if (b<=20){
t.yunsuan();
}
}
@After
public void after(){
System.out.println("我最后执行个2*3的乘法:2*3="+t.chengfa(2,3));
}
}
以上代码会把@Test1跑完,再跑@Test2,运算结果会是这样

Junti单元测试的更多相关文章
- Spring框架的第三天
## Spring框架的第三天 ## ---------- **课程回顾:Spring框架第二天** 1. IOC的注解方式 * @Value * @Resource(name="" ...
- Intellij idea添加单元测试工具
1.idea 版本是14.0.0 ,默认带有Junit,但是不能自动生成单元测试,需要下载JunitGererator2.0插件 2.Settings -Plugins,下载 JunitGenerat ...
- Python的单元测试(二)
title: Python的单元测试(二) date: 2015-03-04 19:08:20 categories: Python tags: [Python,单元测试] --- 在Python的单 ...
- Python的单元测试(一)
title: Python的单元测试(一) author: 青南 date: 2015-02-27 22:50:47 categories: Python tags: [Python,单元测试] -- ...
- javascript单元测试框架mochajs详解
关于单元测试的想法 对于一些比较重要的项目,每次更新代码之后总是要自己测好久,担心一旦上线出了问题影响的服务太多,此时就希望能有一个比较规范的测试流程.在github上看到牛逼的javascript开 ...
- 使用NUnit为游戏项目编写高质量单元测试的思考
0x00 单元测试Pro & Con 最近尝试在我参与的游戏项目中引入TDD(测试驱动开发)的开发模式,因此单元测试便变得十分必要.这篇博客就来聊一聊这段时间的感悟和想法.由于游戏开发和传统软 ...
- 我这么玩Web Api(二):数据验证,全局数据验证与单元测试
目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试 一.模型状态 - ModelState 我理解 ...
- ABAP单元测试最佳实践
本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...
- python_单元测试unittest
Python自带一个单元测试框架是unittest模块,用它来做单元测试,它里面封装好了一些校验返回的结果方法和一些用例执行前的初始化操作. 步骤1:首先引入unittest模块--import un ...
随机推荐
- 华为网关交换机开启DHCP server服务
华为网关交换机可以配置基于全局地址池的DHCP服务器,也可以配置基于接口地址池的DHCP服务器,本人比较倾向于配置基于接口地址池的DHCP服务器,因此在这里只介绍后者. 第一步:开启DHCP功能 [S ...
- Tomcat 调优之从 Linux 内核源码层面看 Tcp backlog
前两天看到一群里在讨论 Tomcat 参数调优,看到不止一个人说通过 accept-count 来配置线程池大小,我笑了笑,看来其实很多人并不太了解我们用的最多的 WebServer Tomcat,这 ...
- LeetCode------斐波那契数列(2)
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof 写一个函数,输入 n ,求斐波那契(Fibo ...
- Vitepress搭建组件库文档(上)—— 基本配置
在 vite 出现以前,vuepress 是搭建组件库文档不错的工具,支持以 Markdown 方式编写文档.伴随着 vite 的发展,vitepress 已经到了 1.0.0-alpha.22 版本 ...
- HDFS基础学习
HDFS简介 HDFS即Hadoop Distributed File System,是一个分布式文件系统,用于存储海量数据.一个HDFS集群由一个NameNode和多个DataNode组成. HDF ...
- Windows下自动云备份思源笔记到Gitee
前言 思源笔记是一款本地笔记为主的软件,其目前提供了148元/year的付费同步功能,但对于21世纪中国难民而言还是太贵啦. 条件允许的同学还是使用官方的同步,支持下作者. 所以,就在思考有没有白嫖的 ...
- 夯实Java基础,一篇文章全解析线程问题
1. 线程是什么 操作系统支持多个应用程序并发执行,每个应用程序至少对应一个进程 ,彼此之间的操作和数据不受干扰,彼此通信一般采用管道通信.消息队列.共享内存等方式.当一个进程需要磁盘IO的时候,CP ...
- 【Virt.Contest】CF1321(div.2)
第一次打虚拟赛. CF 传送门 T1:Contest for Robots 统计 \(r[i]=1\) 且 \(b[i]=0\) 的位数 \(t1\) 和 \(r[i]=0\) 且 \(b[i]=1\ ...
- GAC简述
GAC简介 GAC全称是Global Assembly Cache作用是可以存放一些有很多程序都要用到的公共Assembly,例如System.Data.System.Windows.Forms等等. ...
- 有趣的 Go HttpClient 超时机制
hello,大家好呀,我是既写 Java 又写 Go 的小楼,在写 Go 的过程中经常对比这两种语言的特性,踩了不少坑,也发现了不少有意思的地方,今天就来聊聊 Go 自带的 HttpClient 的超 ...