テストクラスで複数の外部リソースを使用したいが、外部リソースの順序付けに問題がある。Junit外部リソース@Rule Order
public class TestPigExternalResource {
// hadoop external resource, this should start first
@Rule
public HadoopSingleNodeCluster cluster = new HadoopSingleNodeCluster();
// pig external resourcem, this should wait until hadoop external resource starts
@Rule
public PigExternalResource pigExternalResource = new PigExternalResource();
...
}
問題は、したがって、私は地元のHadoopの単一ノードクラスタを接続することができませんでした、それはHadoopの開始前豚を開始しようとしている。
は、ここでは、コードスニペットです。
junitのルールを注文する方法はありますか?あなたが新しいリソースのbefore
とafter
メソッド内から必要な順序でbefore
とafter
メソッドを呼び出すことExternalResource
自分自身でこれらの2 ExternalResources
をラップしていないのはなぜ
おかげ
'HadoopSingleNodeCluster'クラスは一般に公開されていますか?私は 'org.apache.hadoop.mapred.ClusterMapReduceTestCase'を使用していますが、安定していません。 –
@nefo_x ** HadoopSingleNodeCluster **は私自身のクラスで、ハープの配布では利用できません。 –
は既存のコードベースに基づいていますか?私はクラスターのmapreduceテストケースを使用しようとしますが、外部JVMを起動しますが、それは場合によってはデバッグに少し難しいです。 –