如何强制执行JUnit断言消息?

时间:2014-06-27 20:34:19

标签: java testing junit policy code-inspection

所有JUnit断言方法都有一个可选的第一个参数,即断言失败时打印的消息。

如何确保参数始终通过,我的项目中的开发人员从不懒惰地跳过描述断言正在做什么?

是否有检查工具可以检查? 我能以编程方式做什么吗?

我的项目对maven友好。

2 个答案:

答案 0 :(得分:1)

由于代码检查似乎是您的目标,我建议使用名为PMD的工具。如果还没有这方面的规则,我认为创建一个规则是相当简单的。此外,这将帮助您检测开发人员可能正在创建的其他代码混乱。

这是一个链接: http://pmd.sourceforge.net/

答案 1 :(得分:0)

在我们的团队中,我们会对拉取请求进行代码审核。如果断言不符合标准,您可以在评论中标记它。只允许合并具有足够批准的拉取请求。

那就是说,我可能不会对我的团队强制执行这条规则。相反,我告诉他们编写更短的测试,其中方法名称将明确说明意图,如:

@Test(expected = IllegalArgumentException.class);
shouldThrowExceptionWhenInputIsNegative() {}

@Test
shouldFilterOutNulls() {}

@Test
shouldCreateAdditionalRecordWhenBankBalanceIsOver10000() {}

等...