【问题标题】:writing custom pmd rule that checks for method not followed by chained method?编写自定义 pmd 规则来检查方法不遵循链式方法?
【发布时间】: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


【解决方案1】:

【讨论】:

  • 请问?您是指我在声纳用户列表上发布了类似问题的事实吗?此外,您的“继续”链接指的是同一篇文章。
  • 我在因为它非常不友好的语气而否决这个答案和因为它包含解决方案的链接而赞成它之间左右为难。 @DavidM.Karr 也许你还能接受?
  • 当我必须得到问题的答案时,我会重复发布,而我从不同来源得到的结果不一致。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-11
  • 2017-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-06
相关资源
最近更新 更多