PMD eclipse 插件中的误报
False positives in PMD eclipse plugin
Eclipse 2019-09,Java11.0.5,PMD 插件 4.8.0
@Test
public final void testValueOf() {
final String message = "Colour Object correctly set?";
assertEquals(diamond, QCardColour.valueOf('d'), message);
assertEquals(heart, QCardColour.valueOf('h'), message);
assertEquals(spade, QCardColour.valueOf('s'), message);
assertEquals(club, QCardColour.valueOf('c'), message);
assertThrows(IllegalArgumentException.class, () -> {
QCardColour.valueOf('B');
}, message);
}
PMD eclipse 插件将 assertEquals 标记为 JUnit assertions should include a message
,这显然是错误的。 Gradle pmd 插件,使用相同的 ruleset.xml,没有显示任何错误。如何在不停用规则的情况下删除这些消息?
编辑:该错误仅出现在一个项目中。在至少两个使用 assertEquals 的其他项目中,一切都很好。
这听起来 PMD issue 1009 which has been fixed some time ago. PMD 6.19.0 should contain this fix. The fix makes the rule 对 JUnit 4(在 assertEquals
中消息是第一个参数)和 JUnit 5(消息是第三个参数)的处理不那么严格。
目前还不清楚为什么 运行 遇到这个 pmd-eclipse-plugin 4.8.0 的问题,因为它应该包含 PMD 6.19.0 with the fix for JUnit 5. You might report the issue to the pmd-eclipse-plugin team. There is more than one Eclipse PMD plug-in 您可能会用到的,至少在问题解决之前是这样.
Eclipse 2019-09,Java11.0.5,PMD 插件 4.8.0
@Test
public final void testValueOf() {
final String message = "Colour Object correctly set?";
assertEquals(diamond, QCardColour.valueOf('d'), message);
assertEquals(heart, QCardColour.valueOf('h'), message);
assertEquals(spade, QCardColour.valueOf('s'), message);
assertEquals(club, QCardColour.valueOf('c'), message);
assertThrows(IllegalArgumentException.class, () -> {
QCardColour.valueOf('B');
}, message);
}
PMD eclipse 插件将 assertEquals 标记为 JUnit assertions should include a message
,这显然是错误的。 Gradle pmd 插件,使用相同的 ruleset.xml,没有显示任何错误。如何在不停用规则的情况下删除这些消息?
编辑:该错误仅出现在一个项目中。在至少两个使用 assertEquals 的其他项目中,一切都很好。
这听起来 PMD issue 1009 which has been fixed some time ago. PMD 6.19.0 should contain this fix. The fix makes the rule 对 JUnit 4(在 assertEquals
中消息是第一个参数)和 JUnit 5(消息是第三个参数)的处理不那么严格。
目前还不清楚为什么 运行 遇到这个 pmd-eclipse-plugin 4.8.0 的问题,因为它应该包含 PMD 6.19.0 with the fix for JUnit 5. You might report the issue to the pmd-eclipse-plugin team. There is more than one Eclipse PMD plug-in 您可能会用到的,至少在问题解决之前是这样.