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