我们将静态分析工具引入到我们的Java产品的构建系统中.我们正在使用Maven2,因此Checkstyle和PMD集成是免费的.然而,就强制执行基本样式规则而言,这两个工具之间的功能似乎存在很大的重叠.
利用这两者有益处吗?我不想维护2个工具,如果一个工作.如果我们选择一个,我们应该使用哪一个?为什么?
我们还计划使用FindBugs.我们应该看看其他静态分析工具吗?
更新:共识似乎是PMD比CheckStyle更受欢迎.我没有看到使用两者的充分理由,我不想维护2套规则文件,因此我们可能会专门针对PMD.我们还将引入FindBugs,也许最终,Macker将实施架构规则.
使用NUnit 2.5.10,我正在测试一些引用包含基本异常类型的库的代码.TIBCO.EMS.NamingException,具体而言TIBCO.EMS.InvalidNameException,从中派生出其他异常类型TIBCO.EMS.NameNotFoundException.
我想使用NUnit的ExpectedException属性来识别何时TIBCO.EMS.NamingException抛出任何从中派生的子类异常.
我可以很容易地检测到抛出特定异常的时间:
[ExpectedException("TIBCO.EMS.NameNotFoundException")]
or
[ExpectedException(Typeof(TIBCO.EMS.InvalidNameException))]
Run Code Online (Sandbox Code Playgroud)
但我想以某种方式使NUnit"期望"是否TIBCO.EMS.NamingException已抛出任何子类.
直接尝试它不起作用:
[ExpectedException("TIBCO.EMS.NamingException")]
or
[ExpectedException(typeof(TIBCO.EMS.NamingException))]
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?