首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lucene故意损坏单元测试索引

Lucene故意损坏单元测试索引
EN

Stack Overflow用户
提问于 2012-03-25 03:11:38
回答 2查看 206关注 0票数 0

我有一些代码,用于删除和重建一个Lucene索引,如果它被捕获为损坏,我想要单元测试这个功能。故意损坏测试FSDirectory,然后对损坏的索引执行单元测试的最佳方法是什么?

我假设只有文件系统目录可以被破坏,但是如果有一种方法可以用RAM目录来模拟相同的事情,那就更好了,因为我更喜欢在我的lucene单元测试中使用RAM。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-25 03:23:38

你可以破坏任何目录中的东西,只需直接使用目录api来弄乱索引文件即可。

例如,看看Lucene的MockDirectoryWrapper.crash() (用于单元测试)中的逻辑,以模拟机器崩溃(通过搞乱任何尚未同步的文件):它通过截断文件、将文件的一部分清零、完全删除文件或将文件完全截断为0字节文件来模拟这一过程。

http://svn.apache.org/repos/asf/lucene/dev/trunk/lucene/test-framework/src/java/org/apache/lucene/store/MockDirectoryWrapper.java

票数 2
EN

Stack Overflow用户

发布于 2012-03-25 03:18:00

假设其中一个索引文件至少为2K:

代码语言:javascript
复制
dd if=/dev/urandom of=<index file> bs=1K count=1 seek=1K
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9854676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档