ArchUnit的类应该只依赖于一个包中的特定类。
创始人
2024-09-12 07:30:41
0

在代码中,可以使用ArchUnit库来检查类之间的依赖关系。下面是一个示例解决方案,使用ArchUnit来验证类只依赖于一个包中的特定类:

import com.tngtech.archunit.core.domain.JavaClasses;
import com.tngtech.archunit.core.importer.ClassFileImporter;
import com.tngtech.archunit.lang.ArchRule;
import static com.tngtech.archunit.lang.syntax.ArchRuleDefinition.classes;

public class ArchUnitTest {
    private static final String TARGET_PACKAGE = "com.example.targetpackage";
    private static final String DEPENDENCY_PACKAGE = "com.example.dependencypackage";

    public static void main(String[] args) {
        JavaClasses importedClasses = new ClassFileImporter().importPackages(TARGET_PACKAGE);

        ArchRule rule = classes().that().resideInAPackage(TARGET_PACKAGE)
                .should().onlyDependOnClassesThat().resideInAnyPackage(TARGET_PACKAGE, DEPENDENCY_PACKAGE);

        rule.check(importedClasses);
    }
}

上述代码中,我们首先导入了ArchUnit库的相关类。然后,我们定义了两个常量TARGET_PACKAGEDEPENDENCY_PACKAGE,分别表示目标包和依赖包。

main方法中,我们使用ClassFileImporter来导入目标包中的所有类。然后,我们使用ArchUnit的断言语法来定义一个规则,即只有属于目标包的类,才应该依赖于目标包或依赖包中的类。

最后,我们使用rule.check(importedClasses)来检查规则是否满足,其中importedClasses是我们导入的目标包中的所有类。

请注意,上述代码只是一个示例解决方案,您需要根据实际情况调整TARGET_PACKAGEDEPENDENCY_PACKAGE的值,并根据需求定义适当的规则。

相关内容

热门资讯

开挂辅助安装"pok... pokemomo辅助软件是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可...
重大消息“Wepoker透视效... >>您好:Wepoker透视效果如何确实是有挂的,很多玩家在这款游戏中打牌都会发现很多用户的牌特别好...
开挂辅助神器"pok... 开挂辅助神器"pokemmo手机版脚本"开挂(透视)辅助软件(了解有挂) 【无需打开直接搜索加薇13...
推荐一款“wepoker辅助工... 您好:wepoker辅助工具好用吗的软件,软件加客服确实是有挂的,很多玩家在这款游戏中打牌都会发现很...
开挂辅助脚本"哈糖大... 开挂辅助脚本"哈糖大菠萝有挂吗5个常用方法"开挂(透视)辅助软件(有挂猫腻) >>您好:软件加薇13...
玩家必用“wepokerplu... 您好:wepokerplus透视挂真的假的这款游戏是可以开挂的,软件加【添加微信客服13670430...
开挂辅助平台"wej... 开挂辅助平台"wejoker内置辅助"开挂(透视)辅助下载(有挂解密);打开点击测试直接进入微信(1...
我来教大家“wepoker辅助... wepoker辅助挂怎么用最安全是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要...
开挂辅助脚本"红龙p... 大家好,今天小编来为大家解答红龙poker有辅助吗这个问题咨询软件客服可以免费测试直接加微信(136...
实测发现“wepoker真的可... 您好:wepoker真的可以开挂透视吗这款游戏可以开挂的,确实是有挂的,很多玩家在这款游戏中打牌都会...