用@Test(expectedExceptions = xxx) 声明

package com.janson;

import org.testng.annotations.Test;

public class ExpectedException {
/**
* 什么时候会用到异常测试?
* 在我们期望结果为某一个异常的时候
* 比如:我们传入了某些不合法的参数,程序抛出了异常
* 也就是说我们的预期结果就是这个异常
*/ //这是一个测试结果会失败的异常测试
@Test(expectedExceptions = RuntimeException.class)
public void runTimeExceptionFailed() {
System.out.println("这是一个失败的异常测试");
} //这是一个测试结果为成功的异常测试
@Test(expectedExceptions = RuntimeException.class)
public void runTimeExceptionSuccess() {
System.out.println("这是一个成功的异常测试");
throw new RuntimeException();
} @Test(expectedExceptions = ArithmeticException.class)
public void arithmeticException() {
int i = 1/0;
//System.out.println("After division the value of i is :" + i);
}
}

runTimeExceptionFailed() 测试用例执行会报错:

D:\softwareInstallMenu\java\jdk1.8\bin\...
这是一个失败的异常测试 org.testng.TestException:
Method ExpectedException.runTimeExceptionFailed()[pri:0, instance:com.ucar.ExpectedException@17ed40e0] should have thrown an exception of type class java.lang.RuntimeException at org.testng.internal.ExpectedExceptionsHolder.noException(ExpectedExceptionsHolder.java:89)
at org.testng.internal.Invoker.handleInvocationResults(Invoker.java:1416)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:695)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:869)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1193)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:126)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
at org.testng.TestRunner.privateRun(TestRunner.java:744)
at org.testng.TestRunner.run(TestRunner.java:602)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:380)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:375)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)
at org.testng.SuiteRunner.run(SuiteRunner.java:289)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1301)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1226)
at org.testng.TestNG.runSuites(TestNG.java:1144)
at org.testng.TestNG.run(TestNG.java:1115)
at org.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:72)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:123)

runTimeExceptionSuccess()测试用例执行不会报错:

这是一个成功的异常测试

===============================================
Default Suite
Total tests run: 1, Failures: 0, Skips: 0
=============================================== Process finished with exit code 0

arithmeticException()测试用例执行不会报错:

===============================================
Default Suite
Total tests run: 1, Failures: 0, Skips: 0
=============================================== Process finished with exit code 0

最新文章

  1. C#基础:LINQ 查询函数整理
  2. Ubuntu 16.04安装QQ国际版图文详细教程
  3. CSS样式基础二
  4. DELL_LCD错误提示代码
  5. django rest_framework--入门教程3
  6. 【C++】非原创|统计代码覆盖率(一:C++)
  7. zabbix 布署实践【1 server安装】
  8. JVM GC(整理)
  9. 初学Servlet之实现Servlet接口
  10. JSP/JSF从web.xml中取出context-param的配置信息
  11. PCA:利用PCA(四个主成分的贡献率就才达100%)降维提高测试集辛烷值含量预测准确度并《测试集辛烷值含量预测结果对比》—Jason niu
  12. MySQL 索引长度和区分度
  13. fiddler模拟返回
  14. Python 2维数组90度旋转
  15. nginx反向代理tomcat应用,struts2网站程序redirect时导致请求地址错误的解决方法
  16. stl 迭代器失效
  17. MyEclipse: Java代码与UML自动转换
  18. Linux网卡配置文件路径是什么?要使服务器上外网,必须满足的条件有哪些?需要配置什么?
  19. java中字节流与字符流以及字节流多余字节问题
  20. C/C++——static修饰符

热门文章

  1. [Android6.0][RK3399] 双屏异显代码实现流程分析(一)【转】
  2. docker映射端口与ssh访问或容器访问
  3. bzoj 4883 棋盘上的守卫 —— 基环树转化
  4. POJ1743 Musical Theme 最长重复子串 利用后缀数组
  5. CF 1036 B Diagonal Walking v.2 —— 思路
  6. VMware 虚拟机下挂载U盘
  7. UVa 101 - The Blocks Problem STL
  8. Java多线程(五)停止线程 在沉睡中停止线程
  9. C#与C++的区别(三) 委托与事件
  10. BFS Codeforces Beta Round #94 (Div. 2 Only) C. Statues