FindBugs:单元测试包依赖规则?

时间:2014-07-28 08:14:20

标签: java junit circular-dependency findbugs

我想在代码库中强制执行某些依赖规则:例如包A不应该依赖于包B,没有循环依赖等。我认为能够强制执行它们的唯一方法是(失败)测试,而不是报告。

所以我环顾四周,发现JDependClassycle和JBoss TattleTale - 所有这些似乎都已停止,缺乏Java 8支持。那是我发现FindBugs的时候。

所以我想使用FindBugs来分析我们的包结构,并使用JUnit来验证关于它们关系的某些规则。但由于FindBugs的源代码是 huge ,我想知道:我如何实现这一目标?

此致 斯蒂芬

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

现在,您可以使用ArchUnit以单元测试(JUnit或其他测试框架)的形式声明包之间的允许/不允许的依赖关系,其中有some examples in their user guide,示例如下:

noClasses().that().resideInAPackage("..utils..")
    .should().dependOnClassesThat().resideInAPackage("..domain..")