我想在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