gpt4 book ai didi

testng - 在 TestNg 软断言中显示 assertEquals 错误消息以及给定自定义消息的任何方式

转载 作者:行者123 更新时间:2023-12-05 05:25:46 25 4
gpt4 key购买 nike

这是一个 link to a related question .

有什么方法可以显示默认的 assertEquals 错误消息以及软断言中给出的自定义消息?

我的要求是具有如下自定义消息和断言错误消息。 “打破了预期的 [1] 但找到了 [0]”

import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;

public class SoftAsert
{
@Test
public void test()
{
SoftAssert asert=new SoftAssert();
asert.assertEquals(false, true,"failed");
asert.assertEquals(0, 1,"brokedown");
asert.assertAll();
}
}

最佳答案

您可以创建自己的 SoftAssert,这应该会产生魔力:

public class MySoftAssert extends Assertion
{
// LinkedHashMap to preserve the order
private Map<AssertionError, IAssert> m_errors = Maps.newLinkedHashMap();

@Override
public void executeAssert(IAssert a) {
try {
a.doAssert();
} catch(AssertionError ex) {
onAssertFailure(a, ex);
m_errors.put(ex, a);
}
}

public void assertAll() {
if (! m_errors.isEmpty()) {
StringBuilder sb = new StringBuilder("The following asserts failed:\n");
boolean first = true;
for (Map.Entry<AssertionError, IAssert> ae : m_errors.entrySet()) {
if (first) {
first = false;
} else {
sb.append(", ");
}
sb.append(ae.getKey().getMessage());
}
throw new AssertionError(sb.toString());
}
}
}

关于testng - 在 TestNg 软断言中显示 assertEquals 错误消息以及给定自定义消息的任何方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29910567/

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