码迷,mamicode.com
首页 > 其他好文 > 详细

junit4 测试异常

时间:2015-09-17 19:59:39      阅读:165      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!