2016-08-16 10 views
1

Nutch 2.3.1用の簡単なプラグインをこのsiteからいくつかのガイドを使って書きました。今私はそれをテストして、それをNutchに統合する前に正しく動作していることを確かめる必要があります。私が単にjavaコマンドで実行すると、クラスにエラーが見つかりません。どうすれば私のプラグインをテストできますか?いくつかのユースケースでApache Nutchプラグインをテストする方法

答えて

2

あなたはIndexingFilterプラグインを作成しましたか?私の普通のお勧めは、あなたが書いたプラグインと何らかの形で「類似」していることです。たとえば、​​プラグインを使って、このプラグインのテストがどのように書かれているかを調べましょう。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ブランチに固有のものですが、そこに行くのに役立つ一般的なガイドラインが含まれています。ユーザーがクロールを実行する必要なし/テスト設定値を「再生」したいとき

いくつかのプラグインは、端末から直接bin/nutchスクリプトを使用して呼び出すことができるようにmain()メソッドを実装し、これは便利です。 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を見てください。このプラグインはNutchの1.xバージョン用に実装されていますが、私が話したことの詳細を見るのに役立ちます。

これで、1)隔離された環境で実装をテストし、2)プラグインにさまざまなオプションを持つ追加の設定ファイルがある場合は、ユーザー/テスト環境を提供します。最後に、Nutchのテストスイート全体を展開して展開してから、小さなテストクロールを実行してすべてが正常であることを確認してください。

関連する問題