2

Java と testNG を使用して、2 つの異なるクラス (test1.class と test2.class) に 2 つのテストがあり、ほとんどのメソッドを含む base.class があります。

public class BaseTest {

@Test
public void step1() {

}

@Test(dependsOnMethods="step1")
public void step2() {

}

@Test(dependsOnMethods="step3")
public void step4() {

}
}

public class Test1() extends BaseTest {
@Test(dependsOnMethods="step2")
public void step3() {

}
}

次に、test1.class で testng-test を実行しますが、それは機能しません。「step4 はメソッド public void step3() に依存しており、@Test で注釈が付けられていないか、含まれていません」と表示されます。

これはこれを行うには間違った方法だと思いますが、より良い方法がわかりません。どんな助けでも大歓迎です。

4

1 に答える 1

2

少し直感に反するようです。テストで何が起こっているのかを理解していないstep3()場合、実際には、注釈付きのテストではなく、サブクラスに実装された抽象メソッドにする必要があります。

その方法step3()は、基本クラスから呼び出され、サブクラスで実装されるため、常に実行されます。

于 2012-10-10T12:15:52.533 に答える