Junit 测试exception
Posted HF_Cherish
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Junit 测试exception相关的知识,希望对你有一定的参考价值。
有两种方法:
一、使用ExpectedException
仅在junit4.7以上支持。不仅可以测试捕获到某异常,也可以测试异常message。
使用例子如下:
@Rule public ExpectedException exception = ExpectedException.none(); @Test public void shouldThrowExceptionWhenSumGivenOneNegativeNumber() throws Exception { exception.expect(Exception.class); exception.expectMessage(containsString("negatives not allowed")); exception.expectMessage(containsString("-1")); StringCalculator.calculate("-1,1"); } public static int calculate(String numbers) throws Exception { throw new Exception("negatives not allowed: -1"); }
注意事项:
1. ExpectedException 必须是public
二、使用annotation
这个只能测存在异常,测不了异常message
使用方法:
@Test(expected = Exception.class) public void testException() throws Exception { StringCalculator.calculate("-1,-1"); }
以上是关于Junit 测试exception的主要内容,如果未能解决你的问题,请参考以下文章
JUnit测试提示Java.lang.Exception: No runnable methods
SpringBoot Junit 单元测试,提示:java.lang.Exception: No tests found matching
Junit测试出现异常:Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.com
Junit测试出现异常:Exception in thread "main" java.lang.NoSuchMethodError: org.junit.platform.com