我应该如何使用ArchUnit来确保项目中的所有类都以同一个包名开头?
我有一个Gradle项目,依赖各不相同。
现在我想确保项目中所有Java源文件中的类都以相同的包前缀开头。
如何用ArchUnit来实现?
解决方案
这对Gradle有效:
@Test
public void sourceClassesShouldResideInMyPackage() {
var sourceClassesPath = Paths.get(System.getProperty("user.dir"), "build/classes/java/main");
var sourceClasses = new ClassFileImporter().importPaths(sourceClassesPath);
var rule = classes().should().resideInAPackage("my.package.."); // The .. at the end are important.
rule.check(sourceClasses);
}
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。