- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用来自此 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/
我是一名优秀的程序员,十分优秀!