如何在TestNG中处理expectedExceptions,这样无论测试方法中的代码是否抛出异常,测试都是通过的
我有创建某些对象列表的 testng 测试方法。在每个对象的 for 循环中,都会执行特定的操作。此操作可能会或可能不会引发异常。如何使用@Test(expectedExceptions) 使得无论是否抛出异常,整体测试结果都是通过。根据我的理解,expectedExceptions 总是会寻找异常。如果发现异常,则由 Testng 处理,测试结果通过。如果未找到异常或抛出不同的异常,则测试失败
public class DemoException {
@Test(expectedExceptions = {ConnectException.class})
public void testException() throws ConnectException
{
//pseudo code......
//create a List<WebElement> myList
int count = 0;
for(WebElemet we: myList){
we.connect(); //this may or may not throw exception
we.getResponseMessage(); // further actions on we is needed
we.disconnect();
//above 3 are HttpURLConnection methods to be precise
// Basically do - connect, getResponse, disconnect
System.out.println(count++);
// print count is needed - exception thrown or not thrown
}
}
}
预期:无论是否抛出异常,测试方法都应该通过。即使抛出异常也应该打印计数值
实际结果:测试方法通过(抛出异常)但不打印计数值。如果添加了任何 try-catch 逻辑,则打印计数值但测试方法失败。这不是我想要的。
慕哥9229398
守着星空守着你
Helenr
相关分类