testng入门教程8 TestNG异常测试
TestNG跟踪异常处理代码提供了一个选项。可以测试是否需要代码抛出异常或不抛出。 @Test注释expectedExceptions 参数一起使用。现在,让我们来看看@Test(expectedExceptions)在动作中。
创建一个类
创建一个Java类进行测试说MessageUtil.java 在 C:\ > TestNG_WORKSPACE
在printMessage()方法里添加一个错误条件
/*
* This class prints the given message on console.
*/
public class MessageUtil { private String message; //Constructor
//@param message to be printed
public MessageUtil(String message){
this.message = message;
} // prints the message
public void printMessage(){
System.out.println(message);
int a =0;
int b = 1/a;
} // add "Hi!" to the message
public String salutationMessage(){
message = "Hi!" + message;
System.out.println(message);
return message;
}
}
创建测试案例类
创建一个Java测试类为 ExpectedExceptionTest.java。
添加的ArithmeticException 和 testPrintMessage()测试用例的预期异常。
创建一个Java类文件名ExpectedExceptionTest.java 在 C:\ > TestNG_WORKSPACE
import org.testng.Assert;
import org.testng.annotations.Test; public class ExpectedExceptionTest {
String message = "Manisha";
MessageUtil messageUtil = new MessageUtil(message); @Test(expectedExceptions = ArithmeticException.class)
public void testPrintMessage() {
System.out.println("Inside testPrintMessage()");
messageUtil.printMessage();
}
@Test
public void testSalutationMessage() {
System.out.println("Inside testSalutationMessage()");
message = "Hi!" + "Manisha";
Assert.assertEquals(message,messageUtil.salutationMessage());
}
}
创建测试运行
创建 testng.xml 在 C:\ > TestNG_WORKSPACE 执行测试案例。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
<test name="test1">
<classes>
<class name="ExpectedExceptionTest" />
</classes>
</test>
</suite>
编译MessageUtil 测试用例类使用javac
C:\TestNG_WORKSPACE>javac MessageUtil.java TestJunit.java
现在,运行测试运行,这将运行提供的测试用例类中定义的测试用例。
C:\TestNG_WORKSPACE>java -cp "C:\TestNG_WORKSPACE" org.testng.TestNG testng.xml
验证输出。testPrintMessage()测试的情况下会获得通过。
Inside testPrintMessage()
Manisha
Inside testSalutationMessage()
Hi!Manisha ===============================================
Suite1
Total tests run: 2, Failures: 0, Skips: 0
=============================================== 文章转载自:易百教程 [http://www.yiibai.com]
本文标题:TestNG异常测试
转载请保留原文链接:http://www.yiibai.com/html/testng/2013/0915301.html
testng入门教程8 TestNG异常测试的更多相关文章
- testng入门教程12 TestNG执行多线程测试
testng入门教程 TestNG执行多线程测试 testng入门教程 TestNG执行多线程测试 并行(多线程)技术在软件术语里被定义为软件.操作系统或者程序可以并行地执行另外一段程序中多个部分或者 ...
- testng入门教程10 TestNG参数化测试
在TestNG的另一个有趣的功能是参数测试.在大多数情况下,你会遇到这样一个场景,业务逻辑需要一个巨大的不同数量的测试.参数测试,允许开发人员运行同样的测试,一遍又一遍使用不同的值. TestNG让你 ...
- testng入门教程9 TestNG依赖测试
有时候,你可能需要在一个特定的顺序调用方法在测试案例,或你想分享一些数据和方法之间的状态.TestNG支持这种依赖测试方法之间的显式依赖它支持声明. TestNG允许指定依赖,无论与否: 使用属性de ...
- testng入门教程7 TestNG组测试
在TestNG中组测试是一个新的创新功能,它不存在于JUnit框架,它允许调度到适当的部分方法和瓶坯复杂的测试方法分组.您不仅可以声明属于群体的那些方法,但你也可以指定一组包含其他组.然后,TestN ...
- testng入门教程6 TestNG忽略测试
有时,我们的代码是没有准备好,如果测试用例写入到测试方法/代码将无法运行,在这种情况下,@Test(enabled = false)有助于禁用此测试案例. 测试方法是标注了@Test(enabled ...
- testng入门教程11 TestNG运行JUnit测试
现在,您已经了解了TestNG和它的各种测试,如果现在担心如何重构现有的JUnit代码,那就没有必要,使用TestNG提供了一种方法,从JUnit和TestNG按照自己的节奏.也可以使用TestNG执 ...
- TestNG 入门教程【转】
TestNG 入门教程[转] 国庆7天假期,大部分朋友都出去旅游了,微信圈里全是晒旅游的照片, 东南亚游,欧洲游呀,真是羡慕呀. 悲惨的我只去了上海野生动物园, 在家休息,利用这段假期,把之前学过的东 ...
- testng入门教程16数据驱动(把数据写在xml)
testng入门教程16数据驱动(把数据写在xml) testng入门教程16数据驱动(把数据写在xml)把数据写在xml文件里面,在xml文件右键选择runas---testng执行 下面是case ...
- testng入门教程5TestNG套件测试
TestNG套件测试 测试套件的测试是为了测试软件程序的行为或一系列行为的情况下,是一个集合.在TestNG,我们不能定义一套测试源代码,但它代表的套件是一个XML文件执行特征.这也允许灵活的配置要运 ...
随机推荐
- 【VI】如何再执行上一个(历史)命令(已解决)
输入命令提示符( : )+ 上下箭头(<Up/Down>键) 输入 :his 或者 :history 查看历史
- php应用
1. php判断是否为数字 is_numeric() 这个函数就是检测参数是否为数字,如果是就返回true,如果不是就返回false is_numeric( 'abcd123' ) or die('提 ...
- redmine生产环境搭建
记录信息: 搭建基础应用及mysql 配置svn 配置自动重启 配置API开放 配置邮箱发送 开启数据库ip访问权限 确认用户组管理:配置用户同步 配置部门同步
- [SQL] 用SQL语句检查CPU和磁盘空间
在MS Sql Server中可以能过以下的方法查询出磁盘空间的使用情况及各数据库数据文件及日志文件的大小及使用利用率: 1.查询各个磁盘分区的剩余空间:Exec master.dbo.xp_fixe ...
- iOS - Block的循环引用内存泄漏问题探索
循环引用的原因 众所周知,ARC下用block会产生循环引用的问题,造成泄露的原因是啥呢? 最简单的例子,如下面代码: [self.teacher requestData:^(NSData *data ...
- 9.21 form 和Ajax详解
form 表单 参考连接 : http://www.cnblogs.com/liwenzhou/p/8747872.html
- [译] 深入理解 JavaScript 事件循环(二)— task and microtask
引言 microtask 这一名词是 JS 中比较新的概念,几乎所有人都是在学习 ES6 的 Promise 时才接触这一新概念,我也不例外.当我刚开始学习 Promise 的时候,对其中回调函数的执 ...
- TFS二次开发06——签入(CheckIn)
一个Item 就是一个文件或文件夹 using Microsoft.TeamFoundation.Client; using Microsoft.TeamFoundation.VersionContr ...
- hdu4998 Rotate【计算几何】
Noting is more interesting than rotation! Your little sister likes to rotate things. To put it easi ...
- ASP.NET MVC中ViewBag和ViewData的区别
在MVC3.0以上我们会用到ViewBag或者ViewData进行页面传值,对比一下二者的差距: ViewData ViewBag 基于key/value的字典集合 dynamic类型对象 从ASP. ...