Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 对文本索引进行单元测试_String_Unit Testing_Data Structures_Indexing_Googletest - Fatal编程技术网

String 对文本索引进行单元测试

String 对文本索引进行单元测试,string,unit-testing,data-structures,indexing,googletest,String,Unit Testing,Data Structures,Indexing,Googletest,考虑一个文本索引,例如支持计数查询模式的出现次数和定位查询模式的所有出现位置的后缀树或后缀数组。您将如何对这样一个类进行单元测试 我想到的是生成一个大的随机字符串,然后从这个大字符串中提取一个随机子字符串,并将这两个查询的结果与诸如string::find之类的简单实现进行比较。我的另一个想法是使用一种简单的方法找到原始字符串中出现的最频繁的长度为l的子字符串,并使用这些子字符串来测试索引 这不是最好的方法,那么对于文本索引来说,什么样的单元测试设计才是好的呢 如果有问题,这是用GoGeLest

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

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

这不是最好的方法,那么对于文本索引来说,什么样的单元测试设计才是好的呢

如果有问题,这是用GoGeLestEnter的C++语言。
提前感谢。

我认为Count查询模式的出现次数,Locate查询给定文本中所有模式出现的位置,不必对方法设置期望值,而只需设置默认返回值

所以,在这里使用模拟和存根

简单的例子

供进一步参考