我在单元测试中使用“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。