博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Junit中的异常测试
阅读量:5285 次
发布时间:2019-06-14

本文共 828 字,大约阅读时间需要 2 分钟。

前言

     在写单元测试的时候,经常会遇到需要断言方法需要抛出一个异常这种场景,这时,就会用到Junit的异常测试功能

方式

     1.使用@Test注解自带的 expected 属性来断言需要抛出一个异常,如下:

     @Test(expected = IllegalStateException.class)

     public void testExpect() {

           throw new IllegalStateException();

     }

     在运行测试的时候,此方法必须抛出异常,这个测试才算通过,反之则反。

     2.使用ExpectedException类来进行打桩,我更喜欢这种方式,因为这种方式不仅能判断出指定的异常,并且还能对消息进行判断,并使用一些匹配器来匹配,比较灵活,如下

      先定义一个公共成员变量 

     @Rule

     public ExpectedException thrown = ExpectedException.none();

     在方法中抛出异常

     @Test

     public void testThrown() {

           thrown.expect(IllegalStateException.class);

           thrown.expectMessage("illegal");

           throw new IllegalStateException("illegal");

     }

     还能够使用匹配器来匹配

     @Test

     public void testThrownMessageMatch() {

           thrown.expect(IllegalStateException.class);

           thrown.expectMessage(startsWith("illegal"));

           throw new IllegalStateException("illegal xxx");

     }

转载于:https://www.cnblogs.com/pengshuangbao/p/6366478.html

你可能感兴趣的文章
Android 开发环境配置
查看>>
skiing
查看>>
wxwidgets demo
查看>>
dubbo 实战总结
查看>>
bzoj1230 [Usaco2008 Nov]lites 开关灯
查看>>
Modulation of Lipid Metabolism by Celastrol (文献分享一组-赵倩倩)
查看>>
HDU 1044 Collect More Jewels(BFS+DFS)
查看>>
TrackbarCallback 回调函数必须为 void(int,void*)
查看>>
【BZOJ1857】[Scoi2010]传送带 三分法
查看>>
JPA与Spring2.5整合时发生不能创建entityManagerFactory的问题解决方法
查看>>
FastDFS 初始
查看>>
选项卡
查看>>
14-----定时器
查看>>
XidianOJ 1028 数字工程
查看>>
派遣函数
查看>>
教程6--配置ssh
查看>>
C#串口扫描枪的简单实现
查看>>
SharePoint各版本信息
查看>>
Python数据结构——散列表
查看>>
.Net学习笔记----2015-07-08(基础复习和练习03)
查看>>