2013-02-18 39 views
2

我必須對預編譯的二進制文件(一個沒有main()函數的文件)上運行一些JUnit測試。通過Eclipse對已存在的二進制.class文件進行JUnit測試?

我不是一個Java noob的任何手段,但這是我第一次不得不處理這種情況 - 編譯的二進制文件沒有主(所以如何執行編譯的方法代碼??),試圖以某種方式調用我正在創建的JUnit測試用例中的方法,試圖讓Eclipse甚至確認main() - less二進制文件存在...編譯後的.class文件也是包(假設這個包叫做xyz)...而且我以前從來沒有處理過這個包。

如果我不能通過Eclipse來做到這一點,我將如何在命令行中使用Ant?我之前做過build.xmls,但不是這樣的。

+0

使該類在項目的構建路徑中可用,將其導入到JUnit測試中,實例化一個實例,然後調用它的方法。你可能應該向你的助教,而不是你的教授解決這些類型的問題。 – Perception 2013-02-18 06:34:41

回答

2

希望你有需要測試的API。創建一個新的Eclipse項目,製作一些「binsource」文件夾,並在項目設置下的「Java Build Path」選項卡「Libraries」中選擇「添加類文件夾」,然後將此文件夾添加到項目類樹中。在那裏添加JUnit庫。

現在只需在源文件夾「src」中編寫JUnit測試類,該源文件夾必須作爲源添加(標準設置)。 JUnit類應該編譯,發現binsource文件夾中的類。然後,右鍵單擊項目根目錄並選擇「作爲JUnit測試運行」。沒有必要在任何地方使用main(),但如果出於某種原因需要使用main(),則可以在源代碼中定義它。

在更困難的情況下,您甚至沒有合適的API,嘗試使用Eclipse(File-> Open)打開binsource類。這應該打開反編譯器視圖。它允許查看哪些方法在那裏。