java 文件删除异常 ut_【JAVA-UT】12、抛出了指定的异常吗?
文|碼術(shù)張
如何驗(yàn)證拋出的異常是指定的異常?
下面介紹兩種方法。
方法一:
public class Test1 {
@Test(expected = IllegalArgumentException.class)
public void test1() {
throw new IllegalArgumentException();
}
}
期望的表達(dá)方式為
(expected = IllegalArgumentException.class)
拋異常的代碼為:
throw new IllegalArgumentException();
意思為拋出一個(gè)異常IllegalArgumentException。
在實(shí)際代碼中,將這句換成需要拋異常的代碼即可。
如果拋出的異常與期望的一致,那么運(yùn)行結(jié)果就是pass。
如果不一致,則會(huì)fail。
例如,正面這段代碼,期望拋出異常IllegalArgumentException,實(shí)際拋的是NullPointerException。
public class Test2 {
@Test(expected = IllegalArgumentException.class)
public void test2() {
throw new NullPointerException();
}
}
運(yùn)行結(jié)果會(huì)是fail,并且給出提示:
result.png
方法二:
public class Test3 {
@Rule
public ExpectedException worker = ExpectedException.none();
@Test
public void test3() {
worker.expect(IllegalArgumentException.class);
throw new IllegalArgumentException();
}
}
使用ExpectedException判斷是否有期望的異常。
首先,聲明一個(gè)ExpectedException類型的變量。
然后,告訴它期望的異常。
worker.expect(IllegalArgumentException.class);
意思是期望的異常為IllegalArgumentException。
throw new IllegalArgumentException();
拋出一個(gè)異常。寫代碼時(shí),將這句換成實(shí)際要拋異常的代碼。
如果拋出的與期望的異常一致,則pass。否則,fail,并給出錯(cuò)誤提示。
例如,正面這段代碼:
期望的是IllegalArgumentException。
實(shí)際的拋出的是NullPointerException。
public class Test4 {
@Rule
public ExpectedException worker = ExpectedException.none();
@Test
public void test4() {
worker.expect(IllegalArgumentException.class);
throw new NoSuchFieldError();
}
}
運(yùn)行結(jié)果如下:
result 2.png
總結(jié)
以上是生活随笔為你收集整理的java 文件删除异常 ut_【JAVA-UT】12、抛出了指定的异常吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运营境外赌博网站2个月招揽5000余人充
- 下一篇: java重定向设置header_java