BAEL-7051 - Catch Common Mistakes with Error-Prone Library in Java (#15278)
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
package com.baeldung.pmd;
|
||||
|
||||
public class Cnt {
|
||||
|
||||
public int d(int a, int b) {
|
||||
if (b == 0)
|
||||
return Integer.MAX_VALUE;
|
||||
else
|
||||
return a / b;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
<?xml version="1.0"?>
|
||||
<ruleset name="Custom ruleset" xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
|
||||
|
||||
<description>
|
||||
This ruleset checks my code for bad stuff
|
||||
</description>
|
||||
|
||||
<!-- We'll use the entire 'strings' ruleset -->
|
||||
<rule ref="rulesets/java/strings.xml" />
|
||||
|
||||
<!-- Here's some rules we'll specify one at a time -->
|
||||
<rule ref="rulesets/java/unusedcode.xml/UnusedLocalVariable" />
|
||||
<rule ref="rulesets/java/unusedcode.xml/UnusedPrivateField" />
|
||||
<rule ref="rulesets/java/imports.xml/DuplicateImports" />
|
||||
<rule ref="rulesets/java/basic.xml/UnnecessaryConversionTemporary" />
|
||||
|
||||
<!-- We want to customize this rule a bit, change the message and raise
|
||||
the priority -->
|
||||
<rule ref="rulesets/java/basic.xml/EmptyCatchBlock" message="Must handle exceptions">
|
||||
<priority>2</priority>
|
||||
</rule>
|
||||
|
||||
<!-- Now we'll customize a rule's property value -->
|
||||
<rule ref="rulesets/java/codesize.xml/CyclomaticComplexity">
|
||||
<properties>
|
||||
<property name="reportLevel" value="5" />
|
||||
</properties>
|
||||
</rule>
|
||||
|
||||
<!-- We want everything from braces.xml except WhileLoopsMustUseBraces -->
|
||||
<rule ref="rulesets/java/braces.xml">
|
||||
<exclude name="WhileLoopsMustUseBraces" />
|
||||
</rule>
|
||||
|
||||
</ruleset>
|
||||
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration>
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
|
||||
</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="STDOUT" />
|
||||
</root>
|
||||
</configuration>
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.baeldung.pmd;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
public class CntUnitTest {
|
||||
|
||||
private Cnt service;
|
||||
|
||||
@Test
|
||||
public void whenSecondParamIsZeroShouldReturnIntMax(){
|
||||
service = new Cnt();
|
||||
int answer = service.d(100,0);
|
||||
assertEquals(Integer.MAX_VALUE, answer);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user