欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Junit测试的抛出异常基础实例

程序员文章站 2024-01-09 18:46:58
...
public class Calculator
{	
   	public int divide(int a, int b) throws Exception{
		if(0==b){
			throw new Exception("除数不能为0");
		}
		 
		return a/b;
	}
}


这里我们在CalculatorTest里面要测试这个异常的抛出。

        @Test
	public void testDivideByZero(){
		 
	 	  Throwable th=null;
			try
			{
				cal.divide(4, 0);
				fail();
			}
			catch (Exception e)
			{	
				th=e;
				e.printStackTrace();
				 
			
			}
	 
		
		
	 	assertEquals(Exception.class, th.getClass()); 
	 	assertEquals("除数不能为0", th.getMessage());
	 	
		 
	}


在这里声明一个Throwable类的对象th, 由于Throwable是Exception的父类,所以在catch语句中, 我们可以将th指向e的引用。
最后测试Exception.class和th.getClass()是否是同一个运行中的类,
然后测试message是否相同。

这个是junit3的测试方法。 junit4就特别简单了。
通过注释的方法
@Test(expected=Exception.class)
然后去掉try/catch那一堆, 就可以了。
相关标签: junit