gpt4 book ai didi

java - 如何通过一些用例测试 Apache Nutch 插件

转载 作者:行者123 更新时间:2023-11-30 02:50:08 24 4
gpt4 key购买 nike

我使用来自此 site 的一些指南在 java 中为 Nutch 2.3.1 编写了一个简单的插件。现在我必须对其进行测试,以确保在将其集成到 Nutch 之前它可以正常工作。如果我只是通过 java 命令运行,那么它会给出找不到类的错误。如何测试我的插件。

最佳答案

所以你写了一个IndexingFilter插件对吗?我通常的建议是看一下与您编写的插件某种程度上“相似”的插件,例如,让我们以 index-anchor 为例。插件并检查这个插件的测试是如何编写的,看看 https://github.com/apache/nutch/blob/2.x/src/plugin/index-anchor/src/test/org/apache/nutch/indexer/anchor/TestAnchorIndexingFilter.java 。如果您的插件从配置中读取一些值(配置选项、文件路径等),您应该仔细查看第 36-39 行( https://github.com/apache/nutch/blob/2.x/src/plugin/index-anchor/src/test/org/apache/nutch/indexer/anchor/TestAnchorIndexingFilter.java#L36-L39 )。

总体思路是实例化您刚刚编写的过滤器,向其提供一些假数据并对过滤器的执行结果进行断言。虽然信息https://wiki.apache.org/nutch/WritingPluginExample-0.9特定于 Nutch 1.x 分支,它包含可以帮助您实现目标的一般准则。

一些插件还实现 main()允许使用bin/nutch调用的方法直接从终端编写脚本,当您希望用户“播放”/测试配置值而不需要运行爬网时,这非常有用。一旦您实现main()方法,您可以使用 bin/nutch plugin <plugin name> <plugin class> [some additional parameters] 调用您的插件命令。请记住,必须在 conf/nutch-site.xml 中激活该插件文件。看看https://github.com/apache/nutch/blob/a3e7420494304bc4de7ee1a0b25a5158108856f5/src/plugin/urlfilter-regex/src/java/org/apache/nutch/urlfilter/regex/RegexURLFilter.java ,这个插件是为 1.x 版本的 Nutch 实现的,但它可以帮助您更详细地了解我所讨论的内容。

有了这个,您 1) 在隔离环境中测试您的实现,2) 为用户/您提供一个测试环境,例如您的插件有一个带有许多不同选项的附加配置文件。我的最终建议是:在部署之前始终执行 Nutch 的整个测试套件,并运行一个小型测试爬网以确保一切正常。

关于java - 如何通过一些用例测试 Apache Nutch 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38968525/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com