美文网首页
01-ArchUnit是什么

01-ArchUnit是什么

作者: 糖豆的大魔王 | 来源:发表于2022-07-18 15:10 被阅读0次

本文翻译自ArchUnit

ArchUnit 是一个免费、简单且可扩展的库,用于使用任何普通的 Java 单元测试框架检查 Java 代码的体系结构。 也就是说,ArchUnit 可以检查包和类、层和切面之间的依赖关系,检查循环依赖关系等等(dependencies between packages and classes, layers and slices, check for cyclic dependencies and more)。 它通过分析给定的 Java 字节码、将所有类导入 Java 代码结构来实现这一点。 您可以在 ArchUnit 示例和 GitHub 上的源代码中找到当前版本的示例。

如果您想直接进入第一个 ArchUnit 测试,请按照以下步骤操作

添加 ArchUnit 作为依赖

ArchUnit 可以从 Maven 仓库获得(obtained)。
Maven依赖:

<dependency>
    <groupId>com.tngtech.archunit</groupId>
    <artifactId>archunit</artifactId>
    <version>1.0.0-rc1</version>
    <scope>test</scope>
</dependency>

Gradle

dependencies {
    testImplementation 'com.tngtech.archunit:archunit:1.0.0-rc1'
}

创建一个测试

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 MyArchitectureTest {
    @Test
    public void some_architecture_rule() {
        JavaClasses importedClasses = new ClassFileImporter().importPackages("com.myapp");
    
        ArchRule rule = classes()... // 看下一部分
    
        rule.check(importedClasses);
    }
}

参照API指南

参考该处视频有相应API指南,如:

classes().that().areAnnotatedWith(Serivce.class).or().haveNameMatching(".*Service");

如何继续下一步

有关更多信息,例如如何使用扩展的 JUnit 4 支持提供,请查看用户指南或 ArchUnit 示例中当前版本的示例。

相关文章

  • 01-ArchUnit是什么

    本文翻译自ArchUnit[https://www.archunit.org/] ArchUnit 是一个免费、简...

  • 发展

    承诺是什么?努力是什么?心态是什么?理想是什么?亲情是什么?爱情是什么?朋友是什么?自己是什么?当换了环境,...

  • 我真的害怕忘记

    空气是什么 等是什么 切断是什么 我是什么 光海是什么 爱是什么 风帆是什么 你是什么 (呼吸还在吗 恐...

  • 烦恼如何被消灭

    纠结是什么?烦恼又是什么?心是什么?阴阳又是什么?境是什么?世界又是什么?扭曲是什么?变形又是什么?真实是...

  • 疑问

    误会是什么?坚持是什么?执着是什么?三观是什么?背信弃诺又是什么? 烦躁是什么?焦躁是什么?疑...

  • 一颗心的漂流

    离开的是什么 留下的是什么 挣脱的是什么 奔赴的是什么 守护的是什么 向往的是什么 生命是什么 生活是什么 爱是什...

  • 是什么就是什么

    26岁,终于知道为什么矛盾的时候无法自持,情绪化的时候疯狂到无法控制,忧郁的时候想离开这个世界。 26岁,终于...

  • 是什么?还是什么

    世界上最尴尬的事,是否就是,胸中有千言万语,落笔却一句难寻。 现在2018年01月25日凌晨两点,某个...

  • 是什么就是什么

    任何一项任务都有其专属的评判指标,有的人能达到,有的人达不到,这也就使得一部分人成为领导或专家,一部分人只能成为下...

  • 廿

    而孤独是什么? 心冷是什么? 情是什么? 你是什么?

网友评论

      本文标题:01-ArchUnit是什么

      本文链接:https://www.haomeiwen.com/subject/xhtsirtx.html