我如何使用 Archunit 强制每个 class 都有对应的测试 class? 我能够使用此规则获取我想要检查的所有 class: 但不确定从这里到 go 的位置。 谢谢 ...
我如何使用 Archunit 强制每个 class 都有对应的测试 class? 我能够使用此规则获取我想要检查的所有 class: 但不确定从这里到 go 的位置。 谢谢 ...
我想实施一个规则,确保“存储库”类型的类不在“服务”类型的类之间共享。 这意味着一个服务可以使用任意多个存储库,但是一个存储库只能由一个服务使用(不共享存储库)。 我将如何实现……? 我现在拥有的是: ...
使用 ArchUnit 可以冻结违规行为,以免事情变得更糟。 剩下的问题是没有任何迹象表明日常编码中的冻结违规行为。 有没有办法可视化 IDE 中的违规行为? 例如作为 IntelliJ 中的检查问题。 如果没有,您有什么方法来不断减少冻结的违规行为? ...
我有一个多模块 Java 项目。 为了测试特定的约束,我使用了 Arch Unit。 这适用于与 Arch 单元测试 class 位于同一模块中的类。 但是,我想编写一个 Arch 单元测试来测试我项目中所有模块的类。 如何从我拥有的所有模块中导入所有类? ...
我注意到使用标准 ArchConditions 以以下格式显示消息: 但是,对于向事件添加违规消息的自定义条件,情况并非如此,例如: 这样,不会自动将违反 class 的链接附加到消息中。 我想知道第一个参数(correspondingObject)实际上是用来做什么的。 这是框架中的错误还是我遗漏 ...
Spring 支持使用方法创建 Bean。 例如这样的定义: 定义了一个 Bean“SpringBatchDataSource”。 然后该 Bean 可用于自动装配等。 然而,我们有几个案例,初级同事不理解这个概念,而是调用该方法来创建该类型的 object,即 他们写了类似的东西: 如果您在多 ...
我想制定一个 ArchUnit 规则来接收对Spring 的 ResponseEntity 的调用,如下所示: 我尝试了这样的规则: 但它似乎不匹配。 我目前的猜测是,这是因为泛型类型,因为我将规则更改为针对非泛型类型,这似乎有效。 我有一种感觉,使用callConstructorWhere()可能 ...
我目前正在开发一个 Android 应用程序(= 多模块 gradle 项目)。 我正在尝试介绍 ArchUnit,但在访问所有其他模块的测试源集时遇到问题...... 由于我正在使用 kotlin 并想使用 kotlin 反射(= 找出某些类是否确实是内部的),因此将这些类也放在类路径上会很好.. ...
是否可以创建一个 ArchUnit 规则来防止没有断言的 AssertJ 语句? 例如:这个 AssertJ 语句完全没问题,因为它既有assertThat部分又有断言。 assertThat(frodo.getName()).isEqualTo("Frodo"); 我需要一个 ArchUni ...
我有一个 ArchUnit 规则来检查我的core.service类是否不访问javax.persistence或org.hibernate类: 问题是以下对我的 core.service 类之一中的PersistenceException.getMessage的合法访问被标记为错误: 我希 ...
一位同事进行了一些重构,并将一个方法移动到超类中,以便也能够从其他子类中重用它。 IDE 处理得很快,没有任何投诉。 然而,该方法在内部引用了一个未随该方法移动的常量,即父类 class 现在在其子类之一中引用了一个常量,这当然是不可以的! 我如何表述一个 ArchUnit 规则,以防止从父类到 ...
我正在尝试使用ArchUnit做一个示例,其中通过AnalyzeClasses可以是动态的,基于测试需要运行的适配器应用程序。 例如: 并且从application.properties文件中它应该允许传递包以动态分析,因此任何使用此应用程序作为 Jar 库的应用程序都可以在其属性文件中提供扫 ...
我正在尝试编写一个 ArchUnit 测试,该测试测试抛出时某个未经检查的异常是否也由该方法声明,并且递归地测试调用该方法的任何方法是否也声明了它。 目的是确保这些异常在任何地方都被记录下来,而且,由于我可以强制执行任何声明抛出的东西都必须被记录(其他工具可以强制执行此操作),这似乎是一个很好的方法 ...
我需要确保由@Path注释的类仅调用由@Secured注释的类中的方法。 但只应检查字段上的方法调用(例如注入的 bean)。 到目前为止我所拥有的是: 所以缺少 2 个部分: 应考虑仅调用字段而不是局部变量的检查 declaredIn中用于检查方法是否应在具有@Secured的 class 中声明 ...
我有来自不同存储库的 class,它具有公共方法并已在 class 中使用并导入。 例子: com.tables.Field class 具有来自不同存储库的公共方法并已在项目中使用。 我希望上面的 Field class 仅供 class 在以下 package com.test.FieldI ...
我有一个 class,它有三个不应从某些类调用的方法。 我怎样才能用 Archunit 检查这个? 例如 method1 和 method2 只能由类 Bar1 和 Bar2 调用。 ...
我偶然发现了以下片段。ArchRule myRule = classes() .that().resideInAPackage("..core..") .should().onlyBeAccessed().byAnyPackage("..controller.."); 我想知道如 ...
我得到了看似微不足道的用例,但我仍然无法弄清楚。 我们来看看package结构。 我想要实现的是创建一个规则,其中Package2中的所有类都不能使用Package1中的任何类,除了常见的类。 到目前为止,我已经有了这样的东西: 但我无法弄清楚如何从这个等式中排除package1.common 。 ...
正如问题所暗示的,我如何使用 archUnit 检查某些导入。 所以我希望测试失败,当测试的 class 本身导入 lombok.experimental.* 时。 我了解如何检查包裹和类似的东西,但这种方法似乎不适用于进口。 有什么建议么? 我的代码: 我要测试的 class : ...
在我们的组织中,我们有几个微服务和许多库。 一些库定义了不供公共使用的“公共”类——仅在多个包的库内(因此不能包私有) 我想添加类似于 Kotlin 的“内部”修饰符的东西 - 一个 checkstyle 规则/注释处理器/测试组件,用于验证消费者应用程序不会导入这些类。 例如,我会将它们标记为@F ...