This is the updated version of the PMD ruleset we use for test classes:
<?xml version="1.0"?>
<ruleset name="my_pmd_test_rules"
         xmlns="http://pmd.sf.net/ruleset/1.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0 http://pmd.sf.net/ruleset_xml_schema.xsd"
         xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd">
    
    <description>
        All the rules except the ones we don't like
    </description>  
    
    <rule ref="rulesets/basic.xml"/>
    <rule ref="rulesets/braces.xml"/>
    <rule ref="rulesets/clone.xml"/>
    <rule ref="rulesets/codesize.xml"/>
    <rule ref="rulesets/controversial.xml">
        <exclude name="AtLeastOneConstructor" />
        <exclude name="UnnecessaryConstructor" />
    </rule>
    <rule ref="rulesets/coupling.xml"/>
    <rule ref="rulesets/design.xml">
        <exclude name="UncommentedEmptyConstructor" />
        <exclude name="UncommentedEmptyMethod" />
    </rule>
    <rule ref="rulesets/finalizers.xml"/>
    <rule ref="rulesets/imports.xml"/>
    <rule ref="rulesets/j2ee.xml"/>
    <rule ref="rulesets/junit.xml">
        <exclude name="TestClassWithoutTestCases" />
    </rule>
    <rule ref="rulesets/javabeans.xml"/>
    <rule ref="rulesets/logging-java.xml">
        <exclude name="SystemPrintln" />
    </rule>
    <rule ref="rulesets/naming.xml"/>
    <rule ref="rulesets/optimizations.xml">
        <exclude name="LocalVariableCouldBeFinal" />
    </rule>
    <rule ref="rulesets/scratchpad.xml"/>
    <rule ref="rulesets/strictexception.xml">
        <exclude name="SignatureDeclareThrowsException" />
    </rule>
    <rule ref="rulesets/strings.xml"/>
    <rule ref="rulesets/sunsecure.xml"/>
    <rule ref="rulesets/typeresolution.xml">
        <exclude name="SignatureDeclareThrowsException" />
    </rule>
    <rule ref="rulesets/unusedcode.xml"/>
    
</ruleset>
Some of the rules, e.g. UnnecessaryConstructor,  were excluded only because of the IDE generates test classes.
Wednesday, March 12, 2008
Subscribe to:
Post Comments (Atom)




No comments:
Post a Comment