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 ...
随机推荐
- 220726 T2 Multisets (思维)
题目描述 我们说一个可重集 AA 比可重集 BB 小,当且仅当对于两个可重集中出现次数不同的最小元素 xx ,元素 xx 在 AA 中出现次数更多. 例如,可重集 {1,2,3}1,2,3 就比可重集 ...
- 洛谷P2827 [NOIP2016 提高组] 蚯蚓 (二叉堆/队列)
容易想到的是用二叉堆来解决,切断一条蚯蚓,其他的都要加上一个值,不妨用一个表示偏移量的delta. 1.取出最大的x,x+=delta: 2.算出切断后的两个新长度,都减去delta和q: 3.del ...
- Docker | Compose创建mysql容器
本文通过Docker Compose来创建mysql容器 在linux服务器上创建文件,用于管理容器 mkdir docker-mysql cd docker-mysql vim docker-com ...
- 利用FastReport传递图片参数,在报表上展示签名信息
在一个项目中,客户要求对报表中的签名进行仿手写的签名处理,因此我们原先只是显示相关人员的姓名的地方,需要采用手写方式签名,我们的报表是利用FastReport处理的,在利用楷体处理的时候,开发展示倒是 ...
- 服务器之Apollo单机部署(快速安装)
部署Apollo apollo单机部署(快速安装) Apollo官网:https://www.apolloconfig.com/#/zh/deployment/quick-start-docker 官 ...
- grpc中的拦截器
0.1.索引 https://waterflow.link/articles/1665853719750 当我们编写 HTTP 应用程序时,您可以使用 HTTP 中间件包装特定于路由的应用程序处理程序 ...
- 故事 --- Linux和UNIX之间的那些爱恨与情仇
Linux和UNIX具体有哪些关系及区别? UNIX 与 Linux 之间的关系是一个很有意思的话题.在目前主流的服务器端操作系统中,UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 ...
- C#--String.Substring方法
第一种:String.SubString(int start,int length) 截取指定长度的字符串 这里有两个int型的参数 string表示字符串截取的起始位置,length表截取的 ...
- Git 02: git管理码云代码仓库 + IDEA集成使用git
Git项目搭建 创建工作目录与常用指令 工作目录(WorkSpace)一般就是你希望Git帮助你管理的文件夹,可以是你项目的目录,也可以是一个空目录,建议不要有中文. 日常使用只要记住下图6个命令: ...
- Nginx反向代理实现Tomcat+Jpress和halo
一.利用Nginx反向代理Jpress+Tomcat 1.环境准备 服务器 IP地址 作用 系统版本 Proxy代理服务器 10.0.0.101 负载均衡Nginx Web服务器 Ubuntu2004 ...