gpt4 book ai didi

java - TestNG 断言中的运行时问题

转载 作者:行者123 更新时间:2023-11-30 05:45:04 25 4
gpt4 key购买 nike

我有一个 TestNG 断言,由于断言的对象(ArrayList 元素)的状态,它有时可能会失败,当失败时,我想显示此状态。

我创建了一个在运行时会失败的示例来说明这个概念

import static org.testng.Assert.assertEquals;



@Test
public void sandbox() {
ArrayList<Integer> arr = new ArrayList<>();
assertEquals(arr.size(), 0, "The problem is: " + arr.get(0).toString());
}

我预计断言会通过,当我删除第三个参数(消息)时,它也会通过。我发现这不是 TestNG 问题,因为执行没有单步执行语句,而是在这一步直接失败,并出现

at java.util.ArrayList.rangeCheck(ArrayList.java:657)
at java.util.ArrayList.get(ArrayList.java:433)

这里最好的方法是什么?我正在考虑一种处理异常的方法,但也许还有更好的方法。

谢谢

最佳答案

下面应该有效:

import static org.testng.Assert.assertEquals;


@Test
public void sandbox() {
ArrayList<Integer> arr = new ArrayList<>();
assertEquals(arr.size(), 0, "The problem is: " + arr);
}

这也更实用,因为如果列表不为空,它将打印列表中的所有值而不是第一个。

关于java - TestNG 断言中的运行时问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55001966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com