2

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

一个例子:

// 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());

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

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

4

2 回答 2

2

该消息旨在在测试失败的情况下使用,因此您可以随心所欲地否定。

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

[关联]

于 2013-06-26T18:50:46.757 回答
2

我个人倾向于使用应该/必须:

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

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

assertTrue("sean should be cool, but is not", sean.isCool());
于 2013-06-27T05:58:52.303 回答