2012-11-28 22 views
2

我想使checkstyle在測試中忽略缺少javadoc的@throws子句,但是在非測試中抱怨。在checkstyle中使用通過ID的supressions

因爲supression文件不支持JavadocMethod的子屬性,我不得不無論是在測試中完全或不能忽視的javadoc可言,沒有粒度。這也是this other question.

結論這裏就是我現在想:我可以在我的CheckStyle配置有不同的ID(如testnotest)兩大JavadocMethod模塊,並有選擇地剿的test模塊上的非測試和反之亦然?

我不能得到這個工作,我開始認爲我不能有checkstyle重複模塊。任何見解?

這裏是我的XML配置關於JavadocMethod規則:

<module name="JavadocMethod"> 
    <property name="id" value="nontest"/> 
</module> 
<module name="JavadocMethod"> 
    <property name="id" value="test"/> 
    <property name="allowMissingThrowsTags" value="true"/> 
</module> 

這是我supression文件:

<suppressions> 
    <!-- Supress non-test-doc on tests --> 
    <suppress id="nontestdoc" files=".*(?:Test|IT).*java" /> 
    <suppress id="testdoc" files=".*(?!Test|IT).*java" /> 
</suppressions> 

謝謝!

回答

0

您可以在checkstyle中複製模塊。

試用2 Indentation模塊分別使用tab 2tab 4。和所使用的suppression.xml像下面

<?xml version="1.0"?> 

<!DOCTYPE suppressions PUBLIC 
    "-//Puppy Crawl//DTD Suppressions 1.1//EN" 
    "http://www.puppycrawl.com/dtds/suppressions_1_1.dtd"> 

<suppressions> 
    <suppress id="IndnA" files=".*\.java"/> 
    <suppress id="IndnB" files=".*\.java"/> 
</suppressions> 

,什麼是正則表達式.*(?:Test|IT).*java.*(?!Test|IT).*java?你爲什麼使用LookAhead?

請檢查文件爲.*\.java無論是否工作。