从单独的类运行单独的JUnit测试

时间:2013-06-17 21:07:32

标签: java unit-testing junit

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

我试过了:

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

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

如何从测试套件中运行单个测试?提前谢谢。

1 个答案:

答案 0 :(得分:0)

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

This is taken from a example project I wrote here