簡體   English   中英

捕獲Java中未解決的編譯錯誤

[英]Catch Unresolved Compilation Errors in Java

我目前是使用Java的類的教師助手。 我正在嘗試編寫一段代碼片段來測試以確保學生的方法是正確的,但通常學生甚至不會實施該方法,或者他們會稱之為不正確的東西,這顯然會導致未解決的問題運行我的測試代碼時的編譯問題。 有沒有辦法在運行時捕獲此錯誤,以便我的測試代碼可以執行而無需使用學生提交的代碼?

  • 編輯:剛剛發現編譯器在運行時之前生成了一個未解決的編譯問題。 考慮到這一點,有沒有辦法做我上面解釋的?
  • 編輯:另外,我對分配的結構方式沒有任何控制,所以我不能引入接口或存根等。

如果我是TA,我會寫一些單元測試並告訴學生通過考試。 讓他們盡早進行測試。

如果代碼沒有編譯,那么在運行時檢測它是沒有意義的。 如果不能編譯,則無法運行。

如果使用反射,則可以檢查方法是否存在,調用方法,並通過現有方法迭代以找到學生的方法。

請參閱UrlClassLoader類以從文件加載學生代碼。

如果我理解您的問題,那么您將嘗試驗證學生實現的界面以及實施的正確性。 反射API將允許確定Class是否已實現正確的API,如果已實現,則調用該API。 查看java.lang.Class,java.lang.Method等。

聽起來你已經進入了課程的面向對象部分。 我認為創建一個包含所有已分配方法的超類可能是個好主意。 然后學生可以簡單地擴展超類並實現方法。 你的存根應該拋出一個RuntimeException,這會導致相應的單元測試失敗。 這應該允許您創建單元測試,而不必過多擔心沒有實現特定方法的學生。

暫無
暫無

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

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