【发布时间】:2014-04-15 03:06:37
【问题描述】:
我在单元测试中使用“fest-assert”库,它产生“流畅的断言”,从左到右易于阅读。
如果开发人员没有使用 TDD 编写测试,他们有时会得到如下代码行:
assertThat(something);
这是错误的,因为它必须做更多这样的事情:
assertThat(something).is...
其中“is...”是许多可能的谓词之一,例如“isEqualTo()”或“isTrue()”或“hasSize()”等。
我想看看是否可以编写一个自定义 PMD 规则,该规则可以检测到“assertThat()”的返回值被丢弃在表上,因为它后面没有链式方法。
首先,有谁知道这是否可能,并能提供一个例子来说明这会是什么样子?
请注意,我使用的是 Sonar 3.7,它使用的是 PMD 4.3。我们计划很快将 Sona 升级到 4.1.2 或 4.2,但我不知道这些版本使用的是哪个 PMD 版本。
【问题讨论】:
-
最新的 PMD 插件使用的是 PMD 4.3。但自 SonarQube 4.2 起,默认情况下不包含此插件。详情见PMD plugin page。
标签: pmd sonarqube fest-assert