3

@Factory を使用してテストケースを作成する、いくつかの継承された TestNG コードがあります。すべて正常に動作します。ただし、@Factory メソッドから返されたときにテスト ケースが順序どおりであっても、その順序で実行されるわけではありません。デバッグを容易にするためにそれらを実行したいと思います(テストをランダムな順序よりもまとめておくと、開発者にとってより簡単になります)。

これを行う簡単な方法はありますか?

TestNG 5.9 を使用していますが、必要に応じてアップグレードできます。

ありがとう。

4

1 に答える 1

2

私は現在同じことをしようとしています。私はおそらくあなたを助ける次のものを見つけました:

http://beust.com/weblog2/archives/000479.html

http://testng.org/doc/documentation-main.html#methodinterceptors

問題の解決策があれば、必要に応じてここにコードを追加できます。

編集

TestNGのように111 222ではなく121 212の順序で実行する必要がある2種類のTestClassをチェックしています。

public class ExampleInterceptor implements IMethodInterceptor {

@Override
public List<IMethodInstance> intercept(List<IMethodInstance> paramList, ITestContext paramITestContext) {

     //You have to watch out to get the right test if you have other tests in oyur suite        
    if (!paramITestContext.getName().equals("UnwantedTest")) {
        for (IMethodInstance iMethodInstance : paramList) {
            Object[] obj = iMethodInstance.getInstances();
            if (obj[0] instanceof Class1) {
                //DO your stuff like putting it in a list/array
            } else {
                //DO your stuff like putting it in a list/array with the other Testclasses
            }
        }
    }
    List<IMethodInstance> result = new ArrayList<IMethodInstance>();

            //Put the results in the results

    }
    return result;
}

}

お役に立てば幸いです。質問がある場合は質問してください。

于 2012-04-25T14:32:25.637 に答える