我想在代码库中强制执行某些依赖规则:例如包A不应该依赖于包B,没有循环依赖等。我认为能够强制执行它们的唯一方法是(失败)测试,而不是报告。
所以我环顾四周,发现JDepend,Classycle和JBoss TattleTale - 所有这些似乎都已停止,缺乏Java 8支持。那是我发现FindBugs的时候。
所以我想使用FindBugs来分析我们的包结构,并使用JUnit来验证关于它们关系的某些规则。但由于FindBugs的源代码是 huge ,我想知道:我如何实现这一目标?
此致 斯蒂芬
答案 0 :(得分:2)
答案 1 :(得分:0)
现在,您可以使用ArchUnit以单元测试(JUnit或其他测试框架)的形式声明包之间的允许/不允许的依赖关系,其中有some examples in their user guide,示例如下:>
noClasses().that().resideInAPackage("..utils..")
.should().dependOnClassesThat().resideInAPackage("..domain..")