文档章节

Junit4 单元测试的入门总结

aijfanta
 aijfanta
发布于 2015/11/24 21:05
字数 767
阅读 35
收藏 0

关于一个完整的Junit4的开发流程注意

/**
* Created by Administrator on 2015/5/29.
* 1.测试方法上必须使用@Test进行修饰
* 2.测试方法必须使用public void 进行修饰,不能待任何的参数
* 3.新建一个源代码目录
* 4.测试类的包应该和被测试类保持一致
* 5.测试单元中的每个方法必须可以独立测试,测试方法间不能有任何的依赖

* 6.测试类使用Test作为类名的后缀
* 7.测试方法使用test作为方法名的前缀
*/

关于Junit4的测试失败的2种情况

/**
*
* 1.Failure 一般由单元测试使用的方法判断失败所引起的,这表示测试点发现了问题,就是说问题输出的结果和我们预期的不一样。
* 2.error是有代码异常引起的,它可以产生于测试代码本身的错误,也可以是测试代码中一个隐藏的bug
* 3.测试用力不是用来证明你是对的,而是用来证明你没有错。
*/


关于Junit4的四种常见方法

1.@BeforeClass修饰的方法会在所有方法调用之前被执行,而且该方法是静态的,所以当测试类被加载之后会运行它,而且内存里面只会有一份实例,他比较适合加载配置文件。
2.@AfterClass所修饰的方法通常用于对资源的清理,如关闭数据库链接

3.@Before@After会在每个测试方法的运行前后各执行一次

关于Junit4的常用注解!

#Junit——常用注解#
1.@Test:将一个普通的方法修饰成为一个测试方法
2.@Test(expected=XXX(异常类).class):会抛出该异常
3.@Test(timeout=毫秒 ):设置执行的时间,用于结束死循环或是性能测试
4.@Ignore:所修饰的测试方法会被测试运行器忽略
5.@RunWith:可以更改测试运行器(根据import org.junit.runner.Runner)

---与spring、hibernate的整合

@RunWith(SpringJUnit4ClassRunner.class) 用于配置spring中测试的环境 
@ContextConfiguration(Locations="../applicationContext.xml") 用于指定配置文件所在的位置 
@Test标注在方法前,表示其是一个测试的方法 无需在其配置文件中额外设置属性.

@TransactionConfiguration(transactionManagert="txMgr",defaultRollback=false) 



关于Junit4的测试套件(同时测试多个测试类)

#Junit——测试套件#
用于批量测试,测试套件中也可以测试其他测试套件
测试套件是一个空类,需要使用public修饰
@RunWith(Suite.class)——更改测试运行期为Suite.class,说明所修饰的类为测试套件的入口类
@Suite.SuiteClasses({测试类1.class,测试类2.class,...})——以数组的的形式作为SuiteClasses的参数
小结:
1.写一个作为测试套件的入口类,不包含其他的方法,用public修饰
2.更改测试运行器Suite.class
3.将要测试的类作为数组传入到Suite.SuiteClasses({})


© 著作权归作者所有

aijfanta
粉丝 5
博文 18
码字总数 3619
作品 0
程序员
私信 提问
JUnit4 与 JMock 之双剑合璧

引言 单元测试可以保证代码的质量,最大程度降低修复系统 bug 的时间和成本。能被称为测试的阶段有:单元测试、集成测试、系统测试和用户测试。修复系统 bug 的时间和成本随着这些阶段的推移...

IBMdW
2011/05/04
2.9K
1
Spring Boot - 单元测试(Junit4&Mockito)

回顾 Spring Boot - 初识 Hello World Spring Boot - Servlet、过滤器、监听器、拦截器 Spring Boot - 静态资源处理、启动加载、日志处理 Spring Boot - 部署Deploy Spring Boot - 整合jsp后...

刘忠旭
2017/10/10
0
0
junit4备忘录

简介 JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 测试用例不是用来证明你(的逻辑)是对的,而是用来...

林湾村龙猫
2016/11/26
23
0
JUnit4 中@AfterClass @BeforeClass @after @before的区别对比

JUnit4使用Java5中的注解(annotation),以下是JUnit4常用的几个annotation: @Before:初始化方法 对于每一个测试方法都要执行一次(注意与BeforeClass区别,后者是对于所有方法执行一次)...

writeademo
09/10
22
0
在android中进行单元测试

在开发过程中,无论是什么语言,如果能够熟练使用单元测试,提高的效率那是大大地,当测试或某相关的小姑娘报bug的时候,站在你身边,用无辜的大眼睛对 你说,“公子,有地方出问题”,正要打...

无鸯
2011/09/05
936
2

没有更多内容

加载失败,请刷新页面

加载更多

一、docker 入坑(win10和Ubuntu 安装)

前言 终究还是绕不过去了,要学的知识真的是太多了,好在我们还有时间,docker 之前只闻其声,不曾真正的接触过,现在docker 越来越火,很多公司也都开始使用了。所以对于我们程序员而言,又...

quellanan2
22分钟前
4
0
AutoCompleteTextView

小技巧按菜单键 当菜单打开之前会调用onMenuOpened(int featereId,Menu menu),可以重写这个方法,弹出对话框或者Popmenu 再布局中添加控件AutoCompleteTextView. <AutoCompleteTextVie...

逆天游云
25分钟前
4
0
谷歌软件商店:推出5美元会员 可用数百个软件

腾讯科技讯,谷歌和苹果是全球两大智能手机操作系统的运营者,两家公司旗下分别拥有占据行业垄断地位的谷歌软件商店和苹果软件商店。据外媒最新消息,手机软件商店的商业模式正在发生一些变化...

linuxCool
48分钟前
3
0
RocketMQ 多副本前置篇:初探raft协议

Raft协议是分布式领域解决一致性的又一著名协议,主要包含Leader选举、日志复制两个部分。 温馨提示: 本文根据raft官方给出的raft动画进行学习,其动画展示地址:http://thesecretlivesofda...

中间件兴趣圈
48分钟前
3
0
elasticsearch 6.8.0 添加认证

1. 修改elasticsearch-6.8.0/config/elasticsearch.yml 最后添加一行:xpack.security.enabled: true 2. 初始化用户和密码 ./bin/elasticsearch-setup-passwords interactive 我这里初始化为......

coord
50分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部