1

我正在尝试从可以编译和报告信息的单独类运行测试。但是,我在运行单个测试时遇到了困难。

我试过了:

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

但这限制了我对结果和报告数据的控制。

如何从测试套件运行单个测试?先感谢您。

4

1 回答 1

0

看起来你正在做类似 Selenium 测试的事情?如果您使用 Gradle 作为构建工具,您可以使用“包含”过滤器选项轻松运行一项特定测试。(您也可以使用 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 回答