测试 LinkParseFilter 的快速方法

Quick way to test LinkParseFilter

我想知道是否有快速单元测试 LinkParseFilter 配置的方法。

例如,如果我有一个 parsefilter 文件,其中指定了 LinkParseFilter,如下所示:

...
    {
      "class": "com.digitalpebble.stormcrawler.parse.filter.LinkParseFilter",
      "name": "MyGalleryParseFilter",
      "params": {
        "thumbnails": "substring-before(substring-after(//a[@class='thumbnail']/span/@style, 'background-image: url('), ')')",
        "gallery": "//div[@class='browse']//a/@href",
        "interesting": "//ul[@class='also-interesting']//a/@href",
        "original": "//div[@id='original-image-frame']//a/img/@src"
      }
    },
...

用一些示例页面内容对其进行单元测试以检查它是否提取我想要的内容的最快方法是什么?

一种选择是像 the core module 中那样编写单元测试,您需要在 src/test/resources/[=18 中保存页面副本=].但是,这假定 FetcherBolt returns 与您存储的页面副本的内容相同,但情况不一定如此。

您还可以修改您的拓扑结构或编写自定义拓扑结构以使用与 MemorySpout 相同的配置。来自原型的拓扑是一个很好的起点,因为 StdOutStatusUpdater 将打印出所有找到的 URLs。 运行 它在 Eclipse(或您选择的编辑器)的调试模式下也有帮助。

会不会是 URL 过滤器删除了您刚刚创建的外链?