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

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

hot3.png

    在某些情况下,我们断定目标方法会抛出异常,这时该如何处理呢。

    使用junit测试抛出的异常,我总结了3种方式,详见代码:

import static org.junit.Assert.fail;import org.junit.Rule;import org.junit.Test;import org.junit.rules.ExpectedException;/** * 测试异常 *  * @author wei.ss *  */public class ExceptionTest {	// 规则注解,加在public属性上,且属性直接或间接实现了org.junit.rules.TestRule	@Rule	public ExpectedException expectedException = ExpectedException.none();	// 普通的做法	@Test	public void test1() {		try {			// 模拟抛出异常			if ("aaa".equals("aaa")) {				// 如果没有抛出异常,测试将不会通过				throw new RuntimeException();			}			// 正常情况下,代码不应该执行到这里			fail("正常情况下,代码不应该执行到这里");		} catch (Exception e) {		}	}	// 使用注解@Test的属性expected指定期望抛出的异常	@Test(expected = RuntimeException.class)	public void test2() {		// 如果没有抛出异常,测试将不会通过		throw new RuntimeException();	}	@Test	public void test3() {		// 期望后面抛出RuntimeException异常		expectedException.expect(RuntimeException.class);		// 如果没有抛出异常,测试将不会通过		throw new RuntimeException();	}}

转载于:https://my.oschina.net/u/2007041/blog/507789

你可能感兴趣的文章
如何替代Flex?
查看>>
控制属性修改时间,控制时间,联合主键
查看>>
android-包签名
查看>>
Android开发和调试必备工具-SDK Tools
查看>>
JSON.parse()和JSON.stringify()
查看>>
Ehcache 使用
查看>>
Supported Values for @SuppressWarnings(转)
查看>>
PowerShell自定义对象
查看>>
安卓模拟器BlueStacks 安装使用教程(图解)
查看>>
Storm ack和fail机制再论
查看>>
android开机动画(bootanimation)
查看>>
【LeetCode】107. Binary Tree Level Order Traversal II (2 solutions)
查看>>
《微软的软件测试之道》读书笔记 之 结构测试技术
查看>>
ASP.NET中Session的个人浅谈
查看>>
数学图形之Kuen Surface
查看>>
发RTX通知
查看>>
读《C# 和 Java 的比较》有感
查看>>
魅族的“火爆”预定表示“呵呵呵”-不要怪我拆穿
查看>>
ESXi 5.5 解决 cannot edit the settings of virtual machines of version 10
查看>>
【BZOJ】3399: [Usaco2009 Mar]Sand Castle城堡(贪心)
查看>>