我刚刚写了一个非平凡reduce函数,其中rereduce
执行路径与标准reduce
不同。当rereduce为真时测试减少函数
据我了解,rereduce
只在某些情况下执行;特别是合并在多个节点或大范围的密钥上执行的操作reduce
。
由于我的本地开发环境运行在数据集相对较小的单个节点上,因此如何在rereduce场景中有效测试reduce函数的行为?
我刚刚写了一个非平凡reduce函数,其中rereduce
执行路径与标准reduce
不同。当rereduce为真时测试减少函数
据我了解,rereduce
只在某些情况下执行;特别是合并在多个节点或大范围的密钥上执行的操作reduce
。
由于我的本地开发环境运行在数据集相对较小的单个节点上,因此如何在rereduce场景中有效测试reduce函数的行为?
您可以编写一个脚本来生成大量的现实虚拟数据。我能够测试我的map-reduce的唯一方法是使用真实或虚假的数据,但很多。
这是一个副作用并且很有趣,但是您也可以很好地了解索引和查看请求需要多长时间,并且了解应用程序如何在规模上执行操作。负载测试永远不会受伤。
我不测试我的脚本在couchdb。我改用:
这样我就可以回归和单元测试我的地图并减少函数,同时支持一些复杂度,只能在couchdb中不支持。
谢谢 - 也许我应该在问题中指定,但我并不特别针对基于单元测试的解决方案。原因是它会假设我的测试工具和嘲笑的反应是正确的。我真正需要的是与CouchDB本身进行适当的端到端集成测试。在没有办法强制参数的情况下,我可能只需要上传大量的数据。 – 2014-10-10 11:20:53
到此为止带着这个。看起来它在启动之前只需要100个左右的文档(至少,它对我来说是这样 - 我不知道这个标准是什么),正如你所说的那样,无论如何用真实数量的文档进行测试都是非常有用的。 – 2014-10-12 22:58:12