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 ...
随机推荐
- 微信小程序分享好友,朋友圈
<template> <view> <button open-type="share">发送给好友</button> </vi ...
- 关于history.back()、history.go()回退但无法刷新页面的问题
window.history.back(); 这样确实可以做到后退的功能,但是项目中,常常并不只是后退就能完成需求,往往需要在后退的同时,刷新后退的页面信息,比如后退到首页同时刷新首页的最新数据,这样 ...
- .NET平台下一个你不知道的框架,我只想说两个字:“牛逼”
框架内容 零度框架是一套基于微服务和领域模型驱动设计的企业级快速开发框架,基于微软 .NET 6 + React 最新技术栈构建,容器化微服务最佳实践,零度框架的搭建以开发简单,多屏体验,前后端分离, ...
- 陆地观测卫星数据服务(CRESDA)订单ftp地址错误—已解决不能下载问题
陆地观测卫星数据服务订单ftp地址错误 问题:本人在陆地观测卫星数据网站上申请GF1-WFV10幅数据,订单完成后返回的FTP地址出现无法连接服务器现象.(数据订单申请已通过) 一.情况介绍: 我 ...
- Codeforces Round #801 (Div. 2) C(规律证明)
Codeforces Round #801 (Div. 2) C(规律证明) 题目链接: 传送门QAQ 题意: 给定一个\(n * m\)的矩阵,矩阵的每个单元的值为1或-1,问从\((1,1)\)开 ...
- k8s 中的 service 如何找到绑定的 Pod 以及如何实现 Pod 负载均衡
k8s 中的 service 如何找到绑定的 Pod 以及如何实现 Pod 负载均衡 前言 endpoint kube-proxy userspace 模式 iptables ipvs kernels ...
- Hadoop生态系统—数据仓库Hive的安装
一.数据仓库 数据仓库是一个面向主题的.集成的.随时间变化,但信息本身相对稳定的数据集合,相比于传统型数据库,它主要用于支持企业或组织的决策分析处理.主要有以下3个特点: 数据仓库是面向主题的: 数据 ...
- 浅谈API和SDK的区别
首先了解一下他们的定义 API:application program interface 应用程序接口 通常表示一些事先定义好的函数,为了向外部提供一组功能的实现,实现和其他软件的交互 SDK:so ...
- 2021-2022 ICPC, NERC, Northern Eurasia Onsite (Unrated, Online Mirror, ICPC Rules, Teams Preferred) J. Job Lookup
题意 n个节点,n<=200,你需要构造这n个几点成为一棵树,并且这棵树的中序遍历为1-n; 你构造树的节点之间的最短路构成一个n×n的最短距离矩阵d: 同时给你n×n的权重矩阵c:最最小的Σd ...
- 7 款殿堂级的开源 CMS(内容管理系统)
最近,有读者留言让我推荐开源 CMS.我本想直接回复 WordPress,但是转念一想我玩 WordPress 是 2010 年左右的事情了,都过去十年了,它会不会有些过时呢?有没有新的.更好玩的开源 ...