0

私は3つのメソッドを含むJavaクラスを持っています:

public class Test{
 public void orange(){
 }
 public void apple(){
 }
 public void mango(){
 }
}

Selenium RCとTestNGで書いたように、上記の3つのメソッドを順番に/順番に実行したいと思います。これどうやってするの?

4

5 に答える 5

5

簡単な方法は、 に変更@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

于 2011-03-23T15:52:32.367 に答える
3

を変更するだけ@Test@Test(singleThreaded=true)準備完了です。

http://testng.org/javadoc/org/testng/annotations/Test.html#singleThreaded%28%29

于 2011-03-23T07:48:53.870 に答える
0

テスト クラスでは、クラス レベル自体でこの注釈を試します。

@Test(sequential = true)
于 2011-03-23T07:47:51.610 に答える
0

クラスで使用sequential=trueするだけでなく、メソッド自体に優先度を設定することもできます。

@Test(priority=1)
public void orange(){}

@Test(priority=2)
public void apple(){}

@Test(priority=3)
public void mango(){}
于 2013-05-23T15:23:44.437 に答える
0

dependsOnGroups を使用することをお勧めします。したがって、テスト メソッドを 1 つのグループとして扱い、このグループに対する依存関係を提供します。したがって、明日メソッド名をリファクタリングしても、依存構造は壊れません。dependsOnGroups の詳細については、こちらをご覧ください

于 2011-03-24T07:05:05.903 に答える