我可以使用以下两种方式之一编写断言消息。说明成功:
assertEquals( "objects should be identical", expected, actual );
或说明被破坏的条件:
assertEquals( "objects aren't identical", expected, actual );
JUnit中是否专门为此提供标准?如果没有,双方的论点是什么?
PS:我在网上看到的文章都在没有说明的情况下进行了演示,因此仅说“搜索Google”是无法解决的!
[更新]
每个人都对我用过的事实感到困惑assertEquals,因此该消息可能毫无用处。但这当然只是因为我想简单地说明这个问题。
assertEquals
因此,想象一下它是:
assertTrue( ... big long multi-line expression ... );
消息有用的地方。
至少对于,我很少打扰消息assertEquals。任何明智的测试跑步者都会向您解释您正在使用assertEquals的东西,以及意味着相等的两件事。您的任何一条消息都没有提供更多的信息。
我通常会发现单元测试失败是暂时性的- 我会迅速找出问题所在并加以解决。“找出问题所在”通常涉及足够的细节,以至于单个消息不会有太大的不同。考虑“通过收到一条消息节省的时间”与“花费在思考消息上的时间” :)
编辑:好的,在一种情况下,我 可能会 使用一条消息:当文本中存在一个紧凑的描述时,该描述从对象的字符串表示中并不明显。
例如:比较以毫秒存储的日期时,“预计日期为12月1日”。
我不会担心您如何准确地表达它:只需确保从消息中可以明显看出您的意思。“应该是”或“不是”都可以-只是“ 12月1日”就不明显了。