五、testNG异常处理
2024-10-18 18:33:07
当程序出现异常或者测试中有异常测试案例可以使他抛出异常
例如: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 汇整错误信息,方便观察错误类、方法,方便回购测试
最新文章
- asp.net mvc 简易通用自定义Pager实现分页
- java打包成jar,但不打包配置文件
- python函数动态参数详解
- windows下面安装Python和pip
- 由chrome剪贴板问题研究到了js模拟鼠标键盘事件
- [转]Hibernate3如何解决n+1 selects
- VS启用IIS调试的方法及可能碰到的问题。
- [记录]calculate age based on date of birth
- Mysql学习(慕课学习笔记3)数据类型
- JS动态生成<;style>;
- 1602A液晶
- TP 3.2 笔记 (1)
- ESLint可共享配置发布,团队自定义ESLint规则新鲜出炉
- 使用Http-Repl工具测试ASP.NET Core 2.2中的Web Api项目
- 三、自动化测试平台搭建-django-如何用mysql数据库做web项目
- Python【初识篇】简介
- Promise源码深入理解
- css页面滚动触发动画
- cdn贝四层协议配置端口映射TCP端口转发
- 绘图 Painter转接口封装的方式