温馨提示:本文翻译自stackoverflow.com,查看原文请点击:java - Can you make assertTrue error messages more specific?
java testng appium assert assertion

java - 您可以使assertTrue错误消息更具体吗?

发布于 2020-03-27 16:01:56

我经常使用testNG的assertTrue来验证例如交易是否正确

public void verifyAmount(WebElement element, String someText){
assertTrue(element.getText().contains(someText));
}

当它失败时会说

java.lang.AssertionError: did not expect to find [true] but found[false]

是否可以更改断言错误来说明到底出了什么问题,而不仅仅是对/错的陈述?是否可以使该消息更具体?有没有办法使断言错误说:

java.lang.AssertionError: did not expect to find [10.000 $] but found[3000 $]

查看更多

查看更多

提问者
Vedran Zenzerović
被浏览
25
Stultuske 2020-01-31 17:17

您可以打开:

public void verifyAmount(WebElement element, String someText){
assertTrue(element.getText().contains(someText));
}

变成:

public void verifyAmount(WebElement element, String someText, String message){
assertTrue(element.getText().contains(someText), message);
}

并传递您认为应该在此处给出的错误消息。

编辑:我习惯于使用其他断言方法,将消息作为第一个参数,但是Long Nguyen的回答正确:TestNG接受消息作为assertTrue的最后一个参数。