我想在lucene框架上做一些單元測試,但老實說我不知道該怎麼去做。我似乎無法弄清楚最基本的任務,如:Lucene單元測試
- 與MockDirectoryWrapper
- 設置一個模擬目錄擴展與LuceneTestCase我的JUnit測試類不允許任何我的測試運行
- 我想模擬損壞的文件錯誤,lockeddirectory錯誤等,但我很困惑如何使用MockDirectoryWrapper做這些事情。
有一些教程或示例的資源會很好。谷歌似乎沒有發現與Lucene單元測試有關的任何內容,儘管Lucene的網站有很好的文檔,但是它們沒有提供任何教程。
通常我使用一個RAMDirectory並將其注入到我的lucene類中,以對基本函數執行單元測試,例如向索引添加文檔或刪除文檔等,這很好,但它不允許我測試如上面列出的錯誤。
我可以創建一個物理目錄測試文件,創建測試目錄,然後刪除其中的一個文件,以實質上損壞它,但有沒有辦法做到這一點作爲一個模擬,而實際上不必在磁盤上創建文件?
它必須是給我的問題的jUnit的版本號。我從來沒有想到這一點。我使用的是eclipse,它附帶4.8。再次感謝您的幫助。這個樣本測試真的幫了很大忙。 – ryandlf 2012-03-25 14:27:46
是的,這可能是它。我認爲在下一個版本的lucene中我們將支持4.10 ...問題是我們在基類測試類中有一個小狀態機,它確保setUp()調用super.setUp()和任何tearDown()調用super.tearDown ()和junit 4.8+以這種方式改變了事情,我們收到的事件聽衆已經收到它以前沒有的事件...更多信息請訪問:https://issues.apache.org/jira/browse/LUCENE-3762 – 2012-03-25 21:15:19