繁体   English   中英

ArchUnit class 链接违规消息

[英]ArchUnit class link in violation messages

我注意到使用标准 ArchConditions 以以下格式显示消息:

Class <full_class_path> does not <some_rule> in (<class_link>)

但是,对于向事件添加违规消息的自定义条件,情况并非如此,例如:

events.add(SimpleConditionEvent.violated(item, item.getName() + " some message"));

这样,不会自动将违反 class 的链接附加到消息中。 我想知道第一个参数(correspondingObject)实际上是用来做什么的。

这是框架中的错误还是我遗漏了什么? 拥有这些链接真的很有用。 我尝试在消息字符串中使用 JavaDoc @link 表示法无济于事。

大多数领域类,如 JavaClass、JavaMember 或 JavaAccess 都实现了接口HasSourceCodeLocation ,其中包含方法getSourceCodeLocation来获取源代码中的位置。 返回的 object SourceCodeLocation然后可以通过toString方法用于 output 位置。

例如

events.add(SimpleConditionEvent.violated(item, item.getDescription() + " is violated in " + item.getSourceCodeLocation()));

会回来

Class <org.example.Dummy> is violated in (Dummy.java:0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM