[英]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.