问题标签 [archunit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
42 浏览

junit - 排除 Arch 测试中的内部类

haveSimpleNameEndingWithArchUnit 中的验证引发了以下异常,如何在验证中排除内部类?

代码

例外

0 投票
1 回答
30 浏览

java - 如何使用 ArchUnitTest 检查泛型中的依赖关系?

我们有一个规则,包“foo”不应该依赖包“bar”

我们在“foo”中有一个接口,通过两种方式使用“bar”,直接和通过泛型。

“BarClass getBar();” 被 ArchUnitTest 捕获,但“Optional getOptionalBar()”和“List getListBar()”在测试中没有给我们任何错误。有谁知道如何让他们也失败?

0 投票
1 回答
39 浏览

java - 如何禁止使用带有某些注释的类

在我们的组织中,我们有几个微服务和许多库。

一些库定义了不用于公共使用的“公共”类 - 仅在多个包中的库内部(因此不能是包私有的)

我想添加一些类似于 Kotlin 的“内部”修饰符的东西——一个检查样式规则/注释处理器/测试组件,用于验证消费者应用程序不导入这些类。

例如,我会将它们标记为 @ForInternalUsageOnly 或放入包 com.ourorg.mylib.internal_usage

什么可以是非复制粘贴(例如 jar 或 gradle 任务)实现来验证这些类没有被导入?最好 - 在编译级别

0 投票
2 回答
64 浏览

testing - 我可以使用 ArchUnit 检查 lombok.experimental.* 注释的使用情况吗?”

正如问题所暗示的,我如何使用 archUnit 检查某些导入。

因此,当测试类本身导入 lombok.experimental.* 时,我希望测试失败。

我了解如何检查包裹和类似的东西,但这种方法似乎不适用于进口。有什么建议么?

我的代码:

我要测试的课程:

0 投票
1 回答
39 浏览

java - ArchUnit 包的使用与子包的例外

我得到了看似微不足道的用例,但我仍然无法弄清楚。让我们看一下包结构。

我想要实现的是创建一个规则,其中 Package2 中的所有类不能使用 Package1 中的任何类,除了常见类。到目前为止,我已经有了这样的东西:

但我无法弄清楚如何从这个等式中排除package1.common 。任何人都可以帮忙吗?

0 投票
1 回答
34 浏览

java - ArchUnit 规则否定包访问?

我偶然发现了以下片段。

我想知道如何否定这个条件,所以测试应该检查core包是否没有被controller包访问?

0 投票
2 回答
43 浏览

archunit - Archunit 检查方法调用

我有一个类,其中包含不应从某些类调用的三种方法。

如何使用 Archunit 进行检查?

所以例如

method1 和 method2 只能由类 Bar1 和 Bar2 调用。

0 投票
1 回答
22 浏览

java - Archunit:如何控制所有其他包中的一个类的使用

我有来自不同存储库的类,它具有公共方法,并已在导入的类中使用。

例子:

com.tables.Field类,它具有来自不同存储库的公共方法并已在项目中使用。

我希望上面的 Field 类只能由以下包 com.test.FieldImpl中的类使用 ,并且不应被项目中的其他包使用。

如何为这种情况编写谓词

0 投票
1 回答
14 浏览

archunit - 如何从 Archunit 测试中排除一个包?

在我的根项目中,我有两个具有该包结构的子项目。

在项目 1 中,我有一个用 ArchRules 定义的类,像这样注释

问题是,如果我运行该测试,它也会分析项目 2 中的所有内容。如何排除包 com.app.api?