我正在使用断言等于比较两个数字
Assert.assertEquals("My error message", First , Second);
然后,当我生成测试报告时,我得到
“我的错误信息预期(第一)是(第二)”
如何自定义我以斜体显示的部分?以及数字的格式?
我正在使用断言等于比较两个数字
Assert.assertEquals("My error message", First , Second);
然后,当我生成测试报告时,我得到
“我的错误信息预期(第一)是(第二)”
如何自定义我以斜体显示的部分?以及数字的格式?
你可以使用这样的东西:
int a=1, b=2;
String str = "Failure: I was expecting %d to be equal to %d";
assertTrue(String.format(str, a, b), a == b);
消息在类中是硬编码的Assert
。您必须编写自己的代码来生成自定义消息:
if (!first.equals(second)) {
throw new AssertionFailedError(
String.format("bespoke message here", first, second));
}
(注意:上面是一个粗略的例子——你需要检查空值等。查看代码Assert.java
以了解它是如何完成的)。
感谢您的回答,我在 Assert 类中找到了这个
static String format(String message, Object expected, Object actual) {
String formatted= "";
if (message != null && !message.equals(""))
formatted= message + " ";
String expectedString= String.valueOf(expected);
String actualString= String.valueOf(actual);
if (expectedString.equals(actualString))
return formatted + "expected: "
+ formatClassAndValue(expected, expectedString)
+ " but was: " + formatClassAndValue(actual, actualString);
else
return formatted + "expected:<" + expectedString + "> but was:<"
+ actualString + ">";
}
我想我不能修改 Junit Assert 类,但是我可以在我的项目中创建一个同名的新类,只是改变格式,对吗?或者我可以改变我班级的格式,它会影响抛出的异常?