You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ArchUnit测试中排除指定类?

解决ArchUnit规则排除特定类的问题

你可以通过在被检查类的条件中添加排除特定全限定类名的约束,让目标类不受该访问规则限制。修改后的代码如下:

val rule: ArchRule =
    classes().that()
        .resideInAPackage("$base..")
        .and().doNotHaveFullyQualifiedName("$base.myClass") // 排除指定类
        .should().onlyBeAccessed().byClassesThat()
        .resideInAPackage("$base..")
rule.check(importedClasses)

说明

  • 核心是用doNotHaveFullyQualifiedName方法精准排除$base.myClass,这个方法支持传入类的完整全限定名,能实现比按包排除更细粒度的控制。
  • 修改后,除$base.myClass外,$base包及其子包下的所有类仍会被规则检查,确保它们只能被同包内类访问;被排除的类则不受此规则约束,可被包外类访问。

内容的提问来源于stack exchange,提问作者HomeLighter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 05:39:56