簡體   English   中英

Java注釋可以進行單元測試嗎?

[英]Can Java annotations be unit tested?

我最近開始創建自己的注釋並運行TDD / BDD,我想要對我的注釋進行單元測試,以便為它們創建一個明確的規范。 然而,由於注釋基本上只是花哨的界面,據我所知,這些界面無法直接實例化,是否有任何方法缺乏反映單元測試注釋?

注釋會產生一些影響(否則,使用它們將毫無意義)。 因此,不要測試注釋存在,但應測試它應具有的效果。

這不是我通常會編寫測試的東西,但你可以簡單地創建一組使用和濫用注釋的測試類,測試它是否存儲其成員值,它是否具有正確的默認值等。

這僅適用於在正確的目標上指定的運行時注釋。

根據我的經驗,注釋本身很少有趣,足以保證單元測試 - 通常是使用它們需要測試的代碼。 但后來我不是來自100%代碼覆蓋的思想學校:-)

如果注釋定義正常,則可以進行單元測試:它是否可以應用於有效的元素集,是否在運行時可用(如果需要),是否正確初始化了默認值? 然后,稍后,單元測試將處理您的注釋的類。

你無法直接測試它們,因為正如你所指出的那樣,沒有什么可以測試的。 但你可以證明一些事情:

  • 代碼中帶注釋的對象在運行時具有任何預期的注釋
  • 默認值已初始化
  • 注釋綁定到您期望它們的內容

在進行單元測試時,您可以證明的一點是您的實現符合接口。 因此,如果注釋暗示某些行為或屬性(例如Serializable事物確實應該是可序列化的),那么您也希望在測試中表示這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM