您的位置:首页 > 其它

TestNG 学习总结 - 异常测试(十)

2016-04-20 16:07 453 查看
testng跟踪异常处理代码提供了一个选项。可以测试是否需要代码抛出异常或不抛出。

@Test注释expectedExceptions 参数一起使用。现在,让我们来看看@Test(expectedExceptions)在动作中。


创建一个类

创建一个Java类进行测试说MessageUtil.java 在 C: > TestNG_WORKSPACE

在printMessage()方法里添加一个错误条件

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
===============================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: