关于测试:JUnit4课程
JUnit4课程
JUnit4快速入门
测试实践
1.导入jar(右键Build Path --> Add Libraries --> Junit --> Junit4)
2.新建测试类:右键需测试类所在包new --> JUnit Test Case参照自动生成的测试类模板(可删除),写自己的测试方法 assertEquals(得到的正确值(即预测值), 程序得到的值);
3.运行测试:测试文件右键 --> Run as JUnit Test
4.Junit视图:状态条(绿色——测试成功;红色——测试失败)
1.测试方法上必须使用@Test进行修饰,assertEquals()
2.测试方法必须使用public void进行修饰,不能带任何的参数
3.新建一个源代码目录来存放我们的测试代码
4.测试类的包应该和被测试类保持一致
5.测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖
nit4使用详解
测试失败的两种情况 Failure , Error
- Failure一般由单元测试使用的断言方法判断失败所引起的,这表示 测试点发现了问题,就是说程序输出的结果和我们预期的不一样
- error是由代码异常引起的,他可以产生于测试代码本身的错误,也可以是被测试代码中的一个隐藏的bug
运行流程
1.BeforeClass修饰的方法会在所有方法被调用前被执行,而且是静态的,所以当测试类被加载后接着就会运行它,而且在内存中它只会存在一份实例,比较适合加载配置文件。
2.AfterClass所修饰的方法通常用来对资源的清理,如关闭数据库的连接
3.Before和@After会在每个测试方法的前后各执行一次
常用的修饰方法
@Test:将一个普通的方法修饰成为一个测试方法
Test(expected=XX.class)
@Test(timeout=毫秒)
@BeforeClass:他会在所有的方法运行前被执行,static修饰
@AfterClass:他会在所有的方法运行结束后被执行,static修饰
@Before:会在每一个测试方法被运行前执行一次
JUnit4的深入使用
JUnit4测试套件的使用
测试套件就是组织测试类一起运行的写一个作为测试套件的入口类,
这个类里面不包含其他的方法更改测试运行器Suite.class将要测试的类作为数组传入到Suite.SuiteClasses({})
@runwith(suite.class) 指定测试套类运行器运行
@suite.suiteclass(test1.class,test2.class)指定要运行的测试类
JUnit4参数化设置
更改默认的测试运行器为RunWith(Parameterized.class)
声明变量来存分预期值和结果值声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰
为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值
## 课程总结
JUnit4的使用总结
@Test@Test(thimeout=毫秒),
@Test(expected=异常类)
@Ignore
@RunWith
@BeforeClass
@AfterClass
@Before @After
最后皮一下:
课程地址:JUnit4课程
关于测试:JUnit4课程的更多相关文章
- spring学习总结(mybatis,事务,测试JUnit4,日志log4j&slf4j,定时任务quartz&spring-task,jetty,Restful-jersey等)
在实战中学习,模仿博客园的部分功能.包括用户的注册,登陆:发表新随笔,阅读随笔:发表评论,以及定时任务等.Entity层设计3张表,分别为user表(用户),essay表(随笔)以及comment表( ...
- 20155219 付颖卓《基于ARM试验箱的接口应用于测试》课程设计个人报告
一.个人贡献 参与课设题目讨论及完成全过程: 资料收集: 负责代码调试: 修改小组结题报告: 负责试验箱的管理: 二.设计中遇到的问题及解决方法 1.makefile无法完成编译.如下图: 答:重新下 ...
- Junit3与Junit4的区别
Junit4最大的亮点就是引入了注解(annotation),通过解析注解就可以为测试提供相应的信息,抛弃junit3使用命名约束以及反射机制的方法. /** * 被测试类 */ package co ...
- Junit4学习笔记
一.初始化标注 在老Junit4提供了setUp()和tearDown(),在每个测试函数调用之前/后都会调用. @Before: Method annotated with @Before exec ...
- 201521123053《Java课程设计》第十四周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 知识点: 创建表的命令有若干行,如果中间某行输入错误,不能修改:可以使用记事本现将命令输入,然后复制粘贴到mys ...
- junit3对比junit4
本文内容摘自junit实战,感谢作者的无私奉献. 个人觉得每个开源包的版本对比意义不大,闲来无事,这里就来整理一下好了.本文名为junit3对比junit4,但是我通过这篇博客主要也是想统一的来整理下 ...
- 【技术开放日】msup携手HPE揭秘全球测试中心背后的12条技术实践
保证软件产品质量是软件测试永恒的目标. 以控制为出发点的传统IT时代正在快速的向以激活生产力为目的的移动互联时代转变.这不仅是技术的升级,更是思想意识的巨大变革,也对软件技术的发展带来的更高的要求和更 ...
- 20165330 2017-2018-2《Java程序设计》课程总结
20165330 2017-2018-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我期望的师生关系 预备作业2:做中学learning by doing个人感想及学习基础 ...
- 测试文档(final)
1 引言 1.1编写目的 编写本测试计划的目的是: (1) 为整个测试阶段的管理工作和技术工作提供指南同时确定测试的内容和范围,为评价系统提供依据: (2) 此外还帮助安排测试活动,说 ...
随机推荐
- JAVA基础—线程池
推荐文章java多线程基础 线程池概述 为什么要使用线程池 1.服务器创建和销毁工作线程的开销很大 2.如果频繁的创建和销毁线程会导致频繁的切换线程,因为一个线程被销毁后,必然要把CPU转让给另一个已 ...
- Web前端-Vue.js必备框架(三)
Web前端-Vue.js必备框架(三) vue是一款渐进式javascript框架,由evan you开发.vue成为前端开发的必备之一. vue的好处轻量级,渐进式框架,响应式更新机制. 开发环境, ...
- [Swift]LeetCode342. 4的幂 | Power of Four
Given an integer (signed 32 bits), write a function to check whether it is a power of 4. Example 1: ...
- [Swift]LeetCode567. 字符串的排列 | Permutation in String
Given two strings s1 and s2, write a function to return true if s2 contains the permutation of s1. I ...
- redis 主从配置,主从切换
只需修改从配置文件 # slaveof <masterip> <masterport> slaveof 127.0.0.1 6379 # masterauth <mast ...
- Java 8中用法优雅的Stream,性能也"优雅"吗?
之前的文章中我们介绍了Java 8中Stream相关的API,我们提到Stream API可以极大提高Java程序员的生产力,让程序员写出高效率.干净.简洁的代码. 那么,Stream API的性能到 ...
- MySQL如何系统学习
MySQL是当下互联网最流行的开源数据库.不管你使用或者学习何种编程语言,都将会使用到数据库,而MySQL则是应用最为广泛的数据库,没有之一! 之前在我的博客上也发布过一些MySQL优化配置项,都收到 ...
- vs17 破解密钥
Visual Studio 2017(VS2017) 企业版 Enterprise 注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QF Visual Studio 2017(VS201 ...
- 图像处理基础(2):自适应中值滤波器(基于OpenCV实现)
本文主要介绍了自适应的中值滤波器,并基于OpenCV实现了该滤波器,并且将自适应的中值滤波器和常规的中值滤波器对不同概率的椒盐噪声的过滤效果进行了对比.最后,对中值滤波器的优缺点了进行了总结. 空间滤 ...
- linux centos6.5安装KVM
1.安装kvm,vnc软件 http://www.server110.com/kvm/201404/10467.html yum install kvm,缺啥补啥 yum install kvm km ...