0

TestNG (スイート) の開始時にすべてのテスト/メソッド実行の (予想される) カウントを取得する方法を教えてもらえますか?

すべてのテスト メソッドの量を簡単に取得できますが、これは各テスト メソッドにデータ プロバイダー サイズの量を掛けたものではありません (データ プロバイダーを介して 1 つのメソッドが 100 回実行されたとしても、各メソッドは 1 回カウントされます)。

単純な API 呼び出しのように、これに対する明白な解決策がない限り、キーは @Test アノテーションで指定されたデータ プロバイダー名からデータ プロバイダー メソッドを把握することのようです 。 TestNG データ プロバイダー名から?

データ プロバイダー メソッドが何であるかがわかれば、データ プロバイダーを実行して、データ セットの量を数えることができます。これはあまり効率的ではないように見えますが、実行しているテストは単体テストではないため、データ プロバイダーを 2 回実行することについてあまり心配する必要はありません (実際のテストの実行時間と比較すると、ピーナッツになります)。

4

3 に答える 3

0

ドライランでは、メソッドの実装IInvokedMethodListenerとオーバーライドを試みますbeforeInvocation

public class Test implements IInvokedMethodListener
{
    static int testcount=0;
    public void beforeInvocation(IInvokedMethod method, ITestResult testResult) {
            
            testcount=testcount+method.getTestMethod().getInvocationCount();
    }

    @Override
    public void onStart(ISuite suite) {
        // TODO Auto-generated method stub
        
    }

    
    @Override
    public void onFinish(ISuite suite) {
        System.out.println(testcount);
        
    }
}
于 2021-02-18T17:43:46.840 に答える