正面,负面或模糊的单元测试消息?

时间:2013-06-26 18:10:10

标签: unit-testing testing junit message

在大多数单元测试框架中,可以指定与断言关联的消息。我从来没有确定如何最好地使用这些消息,因此,往往不一致。

一个例子:

// a positive message
assertTrue("sean is cool", sean.isCool());

// a negative message
assertTrue("sean is not cool", sean.isCool());

// an ambiguous message
assertTrue("sean's coolness", sean.isCool());

我倾向于倾向于第二个示例,提供“否定”消息,这样,当测试失败时,会显示一条消息,指示失败的原因。但是,在查看通过测试的消息时,它们本质上是误导性的。 “模糊”消息最适用于通过和失败的测试..但在任何一种情况下都会产生较少的信息。

我知道这不是一个客观的问题,但也许在某处定义了记录的推荐做法。

2 个答案:

答案 0 :(得分:2)

该消息旨在用于测试失败的情况,因此您可以像您想要的那样消极。

  

可选地,第一个参数可以是失败时输出的String消息。

[link]

答案 1 :(得分:2)

我个人倾向于使用should / must:

assertTrue("sean should be cool", sean.isCool());

这对我来说已经足够了。如果需要,您甚至可以添加更多解释

assertTrue("sean should be cool, but is not", sean.isCool());