五、testNG异常处理
当程序出现异常或者测试中有异常测试案例可以使他抛出异常
例如:0不可以当做除数,如果将除数设置为0会抛出异常
在testNG上加上 expectedExceptions = ArithmeticException.class
运行测试案例测试通过
package com.lc.testngYiChang;
import org.testng.annotations.Test;
public class testNG04 {
@Test(expectedExceptions = ArithmeticException.class)
public void testNG04_01() {
int a = 0 ;
int b = 1 ;
System.out.println("我是testNG04类的testNG04——01方法,我在异常之前打印。");
System.out.println("我是b/a "+b/a);
System.out.println("我是testNG04类的testNG04——01方法,我在异常之后打印。");
}
}

如果程序正常,在测方法上加上 expectedExceptions = ArithmeticException.class ,会报出程序异常
package com.lc.testngYiChang;
import org.testng.annotations.Test;
public class testNG04 {
@Test(expectedExceptions = ArithmeticException.class)
public void testNG04_01() {
int a = 0 ;
int b = 1 ;
System.out.println("我是testNG04类的testNG04——01方法,我在异常之前打印。");
System.out.println("我是b/a "+b/b);
System.out.println("我是testNG04类的testNG04——01方法,我在异常之后打印。");
}
}
[TestNG] Running:
C:\Users\lc\AppData\Local\Temp\testng-eclipse-466935271\testng-customsuite.xml 我是testNG04类的testNG04——01方法,我在异常之前打印。
我是b/a 1
我是testNG04类的testNG04——01方法,我在异常之后打印。
FAILED: testNG04_01
org.testng.TestException:
Method testNG04.testNG04_01()[pri:0, instance:com.lc.testngYiChang.testNG04@256216b3] should have thrown an exception of type class java.lang.ArithmeticException
at org.testng.internal.ExpectedExceptionsHolder.noException(ExpectedExceptionsHolder.java:89)
at org.testng.internal.Invoker.handleInvocationResults(Invoker.java:1376)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:677)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:816)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1124)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
at org.testng.TestRunner.privateRun(TestRunner.java:774)
at org.testng.TestRunner.run(TestRunner.java:624)
at org.testng.SuiteRunner.runTest(SuiteRunner.java:359)
at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354)
at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312)
at org.testng.SuiteRunner.run(SuiteRunner.java:261)
at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
at org.testng.TestNG.runSuitesSequentially(TestNG.java:1191)
at org.testng.TestNG.runSuitesLocally(TestNG.java:1116)
at org.testng.TestNG.run(TestNG.java:1024)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:112)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:205)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:176) ===============================================
Default test
Tests run: 1, Failures: 1, Skips: 0
=============================================== ===============================================
Default suite
Total tests run: 1, Failures: 1, Skips: 0
=============================================== [TestNG] Time taken by org.testng.reporters.EmailableReporter2@61064425: 11 ms
[TestNG] Time taken by org.testng.reporters.jq.Main@16f65612: 59 ms
[TestNG] Time taken by org.testng.reporters.JUnitReportReporter@6bc168e5: 5 ms
[TestNG] Time taken by [FailedReporter passed=0 failed=0 skipped=0]: 5 ms
[TestNG] Time taken by org.testng.reporters.SuiteHTMLReporter@77556fd: 27 ms
[TestNG] Time taken by org.testng.reporters.XMLReporter@7a7b0070: 3 ms
另外如果程序出现异常 会在项目下test-output/testng-failed.xml 汇整错误信息,方便观察错误类、方法,方便回购测试

五、testNG异常处理的更多相关文章
- PL/SQL学习(五)异常处理
原文参考:http://plsql-tutorial.com/ 组成: 1) 异常类型 2) 错误码 3) 错误信息 代码结构: DECLARE Declaration section BEGIN ...
- Python系列:五、异常处理-技术流ken
至今为止还没有进一步的谈论过错误信息,不过在你已经试验过的那些例子中,可能已经遇到过一些.Python 中(至少)有两种错误:语法错误和异常( syntax errors 和 exceptions ) ...
- python 面向对象(五)约束 异常处理 MD5 日志处理
###############################总结###################### 1.异常处理 raise:抛出异常 try: 可能出现错误代码 execpt 异常类 a ...
- python学习笔记(十五)异常处理
python解析器去执行程序,检测到了一个错误时,触发异常,异常触发后且没被处理的情况下,程序就在当前异常处终止,后面的代码不会运行,所以你必须提供一种异常处理机制来增强你程序的健壮性与容错性 . 例 ...
- 【Java中级】(五)异常处理
1.什么是异常 异常定义:导致程序的正常流程被中断的事件,叫做异常. 2.异常处理 try catch finally throws package exception; import java.io ...
- Python学习笔记(五)——异常处理
Python 异常总结 异常名称 解释 AssertionError 断言语句(assert)失败:当assert关键字后边的条件为假时,程序将抛出该异常,一般用于在代码中置入检查点 OSError ...
- Java 读书笔记 (十五) Java 异常处理
捕获异常 使用try 和catch关键字可以捕获异常.try/catch 代码块放在异常可能发生的地方. try/catch 代码块中的代码称为保护代码 ,使用try/catch的语法如下: try ...
- Python笔记(十五)_异常处理
try-except语句 try: 被检测代码 except Exception [as reason]: 出现异常后的处理代码 例: try: sum = 1+' f=open('未定义文件.txt ...
- SpringMVC学习笔记五:HandlerExceptionResolver异常处理
继承HandlerExceptionResolver自定义异常处理器 控制器ExceptionController.java package com.orange.controller; import ...
随机推荐
- 精尽 MyBatis 源码分析 - 基础支持层
该系列文档是本人在学习 Mybatis 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释(Mybatis源码分析 GitHub 地址.Mybatis-Spring 源码分析 GitHub ...
- Go语言实现excel导入无限级菜单结构
目录 需求 实现 测试 简单例子 复杂例子 需求 最近有一个需求,要实现一个无限级结构的树型菜单,差不多长下面这个样子 我们知道无限级实现思路都是用一个parent_id将各种层级串联起来,顶级的pa ...
- 什么是NTFS文件格式
说到磁盘格式,想必大家对于NTFS格式并不陌生.我们使用的u盘等硬盘设备很多都应用了此格式.NTFS文件格式究竟是什么?它都有哪些特点?今天,小编将利用这篇文章为大家进行介绍. 一.什么是NTFS文件 ...
- MySQL开发篇(未完待续)
一.索引 什么是索引? 索引是帮助Mysql提高获取数据的数据结构,换一句话讲就是"排好序的快速查找的数据结构". 1.索引的分类 MySQL主要的几种索引类型:1.普通索引.2. ...
- C语言讲义——变量的输出
变量输出·常规 头文件:stdio.h 函数: printf("%", ); 需要占位符%_,要输出几个变量就需要几个占位符. 类型 占位符 助记 int %d d表示十进制dec ...
- redis 做分布式锁
ok 我们从最基础的一步步来 加锁: 1.setNx没有expire,拿锁线程挂掉后,死锁 2.setNx然后exipre分两步做,setNx后redis宕机,或者线程挂掉,死锁 3.SETNX re ...
- DNS、IP地址、子网掩码和默认网关
一.DNS服务器 DNS是指:域名服务器(Domain Name Server).在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转 ...
- Apache Beam,批处理和流式处理的融合!
1. 概述 在本教程中,我们将介绍 Apache Beam 并探讨其基本概念. 我们将首先演示使用 Apache Beam 的用例和好处,然后介绍基本概念和术语.之后,我们将通过一个简单的例子来说明 ...
- 少标签数据学习:宾夕法尼亚大学Learning with Few Labeled Data
目录 Few-shot image classification Three regimes of image classification Problem formulation A flavor ...
- 20200311_解决Could not resolve host: mirrorlist.centos.org
[root@localhost ~]# yum -y install wget 已加载插件:fastestmirror Determining fastest mirrors Could not re ...