私はいくつかのテストを実行するために "パラメータ化された"ランナーを使用しています。私はXMLファイルからテストデータを生成しています。これは正常に動作します。サブクラスは、Javaの抽象スーパークラスの静的メソッドの動作を変更できますか?
ここでは、テストデータ生成コードを複製することなく、この動作を複数のテストクラスに適用したいと考えています。そこで、XMLファイルからテストデータを読み込む抽象クラスを作成しました。サブクラスがどのXMLファイルを使用するかを知ることができれば、目標を達成できます。
しかし、私はこれを行う方法を見つけることができませんでした。
これは
@RunWith(Parameterized.class)
public abstract class AbstractXMLDrivenTest{
@@Parameters
public static Collection<Object[]> generateData() {
/* Reads an XML File and returns test input data */
}
}
私のスーパークラスです。ここだ、私はAbstractXMLDrivenTestにTestSomethingためのものXMLファイルを使用する場合、これは正常に動作し、サブクラス
public class TestSomeThing extends AbstractXMLDrivenTest {
public TestSomeThing(args) {
/* Args are populated by generateData in superclass */
}
}
です。 他のテストケースでもスーパークラスを使用できるように、XMLファイルをサブクラス、つまりTestSomethingで定義します。これが今はっきりしていることを願っています
ソースコードの例を教えてください。 –
ここにポイントがありませんでした。静的メソッドでXMLを生成するのはなぜですか?なぜソリューションは継承(対構成)を含まなければならないのですか? –