1
我在查看Java的Reflection功能並瞭解用於編寫註釋處理程序的代理模式。 org.junit包內有類似@Before
類的註釋處理器嗎?我試圖找到它,但無法找到完成這項工作的確切課程。JUnit如何處理@Before註釋
我在查看Java的Reflection功能並瞭解用於編寫註釋處理程序的代理模式。 org.junit包內有類似@Before
類的註釋處理器嗎?我試圖找到它,但無法找到完成這項工作的確切課程。JUnit如何處理@Before註釋
這取決於你的意思。術語「annotation processor」通常指在編譯階段運行的插件,以基於註釋生成代碼。然而,在這種情況下,只需調用Class.getMethods()來檢索測試類中的方法列表,然後使用Method.getAnnotation()或Method.getDeclaredAnnotations()來檢查註冊表上的註釋,就可以在運行時簡單地處理@Before,@After和@Test註釋該類的方法用這些註釋來查找方法。
是的,這是正確的,但是JUnit框架中的哪個類正在這樣做? –
TestClass.getTestMethods()正在這樣做:https://github.com/junit-team/junit/blob/master/src/main/java/org/junit/internal/runners/TestClass.java –