【发布时间】:2021-03-08 13:26:27
【问题描述】:
我正在尝试找到一种通用的方法来处理我的测试中的错误,它使用 TestNG 作为框架并使用 Rest Assured 作为库来进行 REST 调用。
并且在一些 Rest Assured @Test 注释方法中,我将其包含在 try/catch 中:
@Test
public void readyForSend(String uid) {
try{
Response response =
given().header("X-AI-Test-ID","new-shop-user").
spec(requestSpecUserCreationService).
when().
get("/api/v11/new/createUser?uid=" + uid ).
then().
assertThat().statusCode(200);
catch(AssertionError ae){
logger.info("Unable to create new user");
}
}
在我的 TestNG 文件中,我有以下设置:
<suite name="create new user" verbose="1" configfailurepolicy="continue">
我每次迭代都要进行 30 多次 REST 调用,并且正在使用例如invocationCount = 10 所以一个没有自己的 try/catch 的 Rest Assured 失败,整个失败。我必须将每个都包含在 try/catch 中,还是有更好的方法来进行“软断言”,这样如果不单独处理,测试就不会轰炸我?
【问题讨论】:
-
你试过
@Test(alwaysRun=true)吗?
标签: java testng try-catch assert rest-assured