JUnit异常测试

    异常也是单元测试的一部分,java开发中,如何利用JUnit测试异常呢。

    总结下来有两种方法,一种是注解,一种是try-catch,我们先来实现一个异常类

public class MyException extends RuntimeException{
	//....omit
}

     需要测试的方法

public class MyClass{
	public void execute(){
            throw new MyException("A");
        }
}

     1.注解方式非常简单,如下

public class MyTest{
	@Test(expected=MyException.class)
	public void testExecute(){
            MyClass myclass = new MyClass();
            myclass.execute();
        }
}

     2.try-catch模式的异常测试类虽然比较麻烦,但是可以验证更多信息,如下

 public class MyTest{
        @Test
        public void testExecute(){
		MyClass myclass = new MyClass();
                try{
                    myclass.execute();
                    //跳到这步说明没有抛出异常,需要向测试框架报错
                    fail("the test should throw a exception!");
                }catch(MyException ex){
                    //跳到这里代表测试成功,进一步验证消息
                    assertEquals("A",ex.getMessage());
                }
	}
}

猜你喜欢

转载自jingzhongwen.iteye.com/blog/2209316
今日推荐