Я хотел бы сделать некоторые модульные тесты на основе lucene, но, честно говоря, я понятия не имею, как это сделать. Я не могу показаться, чтобы выяснить самые основные задачи, такие как:Lucene Unit Tests
- Настройка макета каталога с MockDirectoryWrapper
- Удлиняя мой JUnit тестовый класс с LuceneTestCase не позволяет какой-либо из моих тестов, чтобы запустить
- Я хочу, чтобы имитировать поврежденные ошибки файлов, ошибки при блокировке и т. Д., Но я смущен, как использовать MockDirectoryWrapper для выполнения подобных действий.
Ресурс с некоторыми учебниками или примерами будет замечательным. Google, похоже, не находит ничего, связанного с модульным тестированием Lucene, и хотя на веб-сайте Lucene есть отличная документация, они ничего не предлагают с точки зрения учебников.
Обычно я использую RAMDirectory и вставляю его в классы lucene для выполнения модульных тестов по основным функциям, таким как добавление документа в индекс или удаление документа и т. Д., Что отлично, но это не позволяет мне тестировать такие ошибки, как перечисленные выше.
Я мог бы создать файл теста физического каталога, создать тестовый каталог, а затем удалить один из файлов, чтобы повредить его, но есть ли способ сделать это как макет, не имея при этом необходимости создавать файл на диске?
Это должен быть номер версии jUnit, который дает мне проблемы. Я даже не думал об этом. Я использую eclipse, и он поставляется с 4.8. Еще раз спасибо за помощь. Этот образец теста очень помог. – ryandlf
да, возможно, это так. Я думаю, что в следующей версии lucene мы будем поддерживать 4.10 ... проблема в том, что в нашем базовом тестовом классе есть небольшая машина состояний, которая обеспечивает любые вызовы setUp() super.setUp() и любые вызовы tearDown() super.tearDown() и junit 4.8+ меняет вещи таким образом, что у слушателя мы получаем события, которые он не делал до ... подробнее здесь: https://issues.apache.org/jira/browse/LUCENE-3762 –