【发布时间】:2008-11-07 20:11:33
【问题描述】:
似乎在断言失败时让断言显示一条消息可能很有用。
当前AssertionError 被抛出,您可以为其指定自定义消息吗?
您能否展示一个执行此操作的示例机制(除了创建您自己的异常类型并抛出它)?
【问题讨论】:
似乎在断言失败时让断言显示一条消息可能很有用。
当前AssertionError 被抛出,您可以为其指定自定义消息吗?
您能否展示一个执行此操作的示例机制(除了创建您自己的异常类型并抛出它)?
【问题讨论】:
你当然可以:
assert x > 0 : "x must be greater than zero, but x = " + x;
更多信息请参见Programming with Assertions。
【讨论】:
assert (condition) : "some message";
我建议将条件放在括号中
assert (y > x): "y is too small. y = " + y;
想象一下,如果你遇到这样的代码......
assert isTrue() ? true : false : "some message";
不要忘记这与您在 JUnit 中编写的断言无关。
【讨论】:
确实如此:
assert importantVar != null : "The important var was null!";
这会将“重要的变量为空”添加到抛出的异常中。
【讨论】:
如果你使用
assert Expression1 : Expression2 ;
Expression2 用作 AssertionError 的详细消息。
【讨论】: