首页 > 其他 > 详细

junit4 测试异常

时间:2015-09-17 19:57:07      阅读:261      评论:0      收藏:0      [点我收藏+]

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

    使用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();
	}

}


junit4 测试异常

原文:http://my.oschina.net/u/2007041/blog/507789

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!