私は3つのメソッドを含むJavaクラスを持っています:
public class Test{
public void orange(){
}
public void apple(){
}
public void mango(){
}
}
Selenium RCとTestNGで書いたように、上記の3つのメソッドを順番に/順番に実行したいと思います。これどうやってするの?
私は3つのメソッドを含むJavaクラスを持っています:
public class Test{
public void orange(){
}
public void apple(){
}
public void mango(){
}
}
Selenium RCとTestNGで書いたように、上記の3つのメソッドを順番に/順番に実行したいと思います。これどうやってするの?
簡単な方法は、 に変更@Test
するだけ@Test(singleThreaded=true)
です。これを行うと、クラス内のすべてのテストが 1 つのスレッドで順番に実行されます。
または
テストを実行する順序を明示したい場合は、アノテーション @dependsOnMethods を使用できます。
public void orange(){}
@Test(dependsOnMethods = { "orange" })
public void apple(){}
@Test(dependsOnMethods = { "apple" })
public void mango(){}
これは、クラス内のすべてではなく一部のメソッドを順番に実行する場合にも便利です。
http://testng.org/doc/documentation-main.html#dependent-methods
を変更するだけ@Test
で@Test(singleThreaded=true)
準備完了です。
http://testng.org/javadoc/org/testng/annotations/Test.html#singleThreaded%28%29
テスト クラスでは、クラス レベル自体でこの注釈を試します。
@Test(sequential = true)
クラスで使用sequential=true
するだけでなく、メソッド自体に優先度を設定することもできます。
@Test(priority=1)
public void orange(){}
@Test(priority=2)
public void apple(){}
@Test(priority=3)
public void mango(){}
dependsOnGroups を使用することをお勧めします。したがって、テスト メソッドを 1 つのグループとして扱い、このグループに対する依存関係を提供します。したがって、明日メソッド名をリファクタリングしても、依存構造は壊れません。dependsOnGroups の詳細については、こちらをご覧ください