1

考虑一个文本索引,例如后缀树或支持Count查询(模式的出现次数)和Locate查询(模式的所有出现的位置)的后缀数组。您将如何对这样的课程进行单元测试?

我想到的是生成一个的随机字符串,然后从这个大字符串中提取一个随机子字符串,并将两个查询的结果与天真的实现(例如 string::find)进行比较。我的另一个想法是找到l原始字符串中出现的最频繁的长度子字符串(可能使用一种简单的方法)并使用这些子字符串来测试索引。

这不是最好的方法,那么文本索引单元测试的好的设计是什么?

万一这很重要,这是在 C++ 中使用 googletest。

提前致谢。

4

1 回答 1

0

我认为给定文本上的 Count 查询(模式的出现次数)和 Locate 查询(模式的所有出现的位置)不必对方法设置期望,而是您可以设置默认值返回值。

所以,利用MocksStubs这里。

简单的例子,http://code.google.com/p/googlemock/wiki/ForDummies

如需进一步参考,http://code.google.com/p/googlemock/wiki/CookBook

于 2012-10-05T04:04:26.820 回答