簡體   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