Быстрый способ проверить LinkParseFilter - PullRequest
0 голосов
/ 04 октября 2018

Я хочу знать, есть ли быстрый способ модульного тестирования конфигураций 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"
      }
    },
...

Что такоесамый быстрый способ протестировать это с некоторым примером содержимого страницы, чтобы убедиться, что он извлекает то, что я хочу?

1 Ответ

0 голосов
/ 04 октября 2018

Один из вариантов - написать модульный тест, такой как в базовом модуле , вам нужно сохранить копию страницы в src / test / resources / ,Однако это предполагает, что FetcherBolt возвращает то же содержимое, что и копия страницы, которую вы сохранили, что не всегда так.

Вы также можете изменить свою топологию или написать собственную для использования той же самойКонфигурация с помощью MemorySpout.Топология из архетипа является хорошей отправной точкой, поскольку StdOutStatusUpdater распечатает все найденные URL-адреса.Также может помочь запуск его в режиме отладки с Eclipse (или редактором по вашему выбору).

Может быть, есть фильтр URL, удаляющий только что созданные ссылки?

...