1

情報をコンパイルしてレポートできる別のクラスからテストを実行しようとしています。ただし、個々のテストを実行するのは困難です。

私は試した:

for (int i = 0; i < testRuns; i++) {
  JUnitCore.runClasses(InternetExplorerTestClass.class, MozillaFirefoxTestClass.class, GoogleChromeTestClass.class);
}

しかし、それは結果とデータの報告に対する私が持っている制御を制限します.

テスト スイートから単一のテストを実行するにはどうすればよいですか? 前もって感謝します。

4

1 に答える 1

0

Selenium テストのようなことをしているように見えますか? ビルド ツールとして Gradle を使用する場合、「include」フィルター オプションを使用することで、特定の 1 つのテストを簡単に実行できます。(Ant、SBT、または Maven でも同様のことができます)。個人的には、ビルド ツールを使用して実行するテストを選択する方が、特定のクラスを実行するコードを記述するよりもエレガントだと思います。

tasks.withType(Test) {

    jvmArgs '-Xms128m', '-Xmx1024m', '-XX:MaxPermSize=128m'
    maxParallelForks = 4

    // System properties passed to tests (if not http://localhost:8001/index.html)
    systemProperties['testProtocol'] = 'http'
    systemProperties['testDomain'] = 'djangofan.github.io'
    systemProperties['testPort'] = 80
    systemProperties['testUri'] = '/html-test-site/site'
    systemProperties['hubUrl'] = 'localhost'
    systemProperties['hubPort'] = '4444'

}

task runParallelTestsInFirefox(type: Test) {
    description = 'Runs all JUnit test classes in parallel threads.'
    include '**/TestHandleCache*.class'
    testReportDir = file("${reporting.baseDir}/ParallelTestsFF")
    testResultsDir = file("${buildDir}/test-results/ParallelTestsFF")

    // System properties passed to tests
    systemProperties['browserType'] = 'firefox'

    // initial browser size and position
    systemProperties['windowXPosition'] = '100'
    systemProperties['windowYPosition'] = '40'
    systemProperties['windowWidth'] = '400'
    systemProperties['windowHeight'] = '600'    
}

これは、私がここに書いたサンプル プロジェクトから取られています

于 2013-06-17T21:14:20.533 に答える