2

我已经为我的项目中的功能测试设置了一个源集。一切都按预期工作,除了生成 junit 测试报告。我看不到我缺少什么配置位。这是我所拥有的:

sourceSets {
    // Note that just declaring this sourceset creates two configurations.
    funcTest {
        scala {
            srcDir 'src/funcTest/scala'
            compileClasspath += main.output
            runtimeClasspath += main.output
        }
    }
}

configurations {
    funcTestCompile.extendsFrom testCompile
    funcTestRuntime.extendsFrom testRuntime
}

task funcTest(type:Test){
    description = "Run integration tests (located in src/funcTest/...)."
    testClassesDir = project.sourceSets.funcTest.output.classesDir
    testSrcDirs = project.sourceSets.funcTest.scala.source
    classpath = project.sourceSets.funcTest.runtimeClasspath
    dependsOn test
}

以上构建并运行我的测试。但是,报告目录结构如下所示:

./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/base-style.css
./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/css3-pie-1.0beta3.htc
./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/MongoConfigTest.html
./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/MongoConfigTest.scala.html
./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/report.js
./build/reports/tests/No source file found at src/test/scala/com/hp/snapfish/ecommerce/taxservice/mongo/style.css

我错过了什么?为什么要创造那个

在 src 找不到源文件

目录?我认为它需要知道它应该在寻找 scala 文件,但我不知道如何告诉它。我一定遗漏了一些明显的东西。

4

3 回答 3

2

在你的 build.gradle 文件中尝试这样的事情:

test {
    testLogging {
        // log results to "build/test-results" directory
        exceptionFormat "full"
        events "started", "passed", "skipped", "failed", "standardOut", "standardError"
    }
}

然后,您应该在如下位置找到输出: project-root/build/test-results 。我不确定如何在“主”源主干上执行此操作,但这适用于“测试”主干。如果你有一个单元测试,你可以试试这个,也许会得到一个更好的主意。

于 2012-11-19T23:05:08.920 回答
2

我不知道“在 src 找不到源文件”来自哪里,但尝试设置testResultsDir(XML) 和testReportDir(HTML)。无论如何,您都必须设置这些,否则您将覆盖test任务生成的文件。

reports.junitXml.destination = "$buildDir/test-results/TaskName"  
reports.html.destination = "$buildDir/test-results/TaskName"
于 2012-11-22T04:04:20.963 回答
0

问题出在 scala 规范上(请参阅https://groups.google.com/forum/?fromgroups=#!topic/specs2-users/zxOWrMEL8rY)。这不是梯度问题。我需要对specs2进行更多调查。感谢您的建议。

于 2012-11-28T17:07:20.353 回答