在 gradle 中,如何为不同的任务创建单独的测试报告?
Posted
技术标签:
【中文标题】在 gradle 中,如何为不同的任务创建单独的测试报告?【英文标题】:In gradle how do you create separate test reports for separate tasks? 【发布时间】:2014-09-16 04:15:07 【问题描述】:我有三个测试源集
/src/tests/...
src/test-integration/
src/test-acceptance/
gradle build
只运行单元测试,而我有单独的任务来运行测试集成和测试接受。 This setup,基本上:
task acceptanceTest(type: Test)
description = "Runs acceptance tests"
testReportDirName ="acceptance"
testClassesDir = sourceSets.acceptanceTest.output.classesDir
classpath += sourceSets.test.runtimeClasspath + sourceSets.acceptanceTest.runtimeClasspath
useJUnit()
testLogging
events "passed", "skipped", "failed"
现在我唯一的问题是我希望验收/集成测试在“测试”文件夹以外的其他地方打印他们的报告,因为它们会相互覆盖。基本上我想更改testReportDirName
属性,但仅用于一项任务。
【问题讨论】:
你使用的是什么版本的 Gradle? 2.0 版,来自 ppa 似乎可以改变 gradle v.2.1
中生成测试报告的可怕之处。导航到$GRADLE_HOME/samples/testing/testReport
并在那里您可以找到如何完成的示例。
【参考方案1】:
您可以更改默认的测试结果和报告目录,如下所示:
task acceptanceTest(type: Test)
reports.html.destination = file("$reports.html.destination/acceptance")
reports.junitXml.destination = file("$reports.junitXml.destination/acceptance")
【讨论】:
以上是关于在 gradle 中,如何为不同的任务创建单独的测试报告?的主要内容,如果未能解决你的问题,请参考以下文章
如何为 gradle 任务命令行参数提供 flyway 密码?