Npa*_*Npa 5 grails code-coverage cobertura
我正在处理grails应用程序.我们使用cobertura生成代码覆盖率报告.现在我想修改grails项目,如果代码覆盖率小于90%,则构建应该失败.我怎样才能在grails中实现这一目标?
我不认为代码覆盖插件直接支持这一点,但是通过连接到强大的 grails 构建事件基础设施就可以很容易地做到这一点。通过将其放入您的 中scripts/_Events.groovy,如果覆盖率低于某个阈值,构建将会失败:
eventStatusFinal = { message ->
if (message ==~ /.*Cobertura Code Coverage Complete.*/) {
def report = new XmlSlurper().parse(new File("target/test-reports/cobertura/coverage.xml"))
if (Float.parseFloat(report.'@line-rate'.text()) < 0.90) {
throw new RuntimeException("coverage too low!")
}
}
}
Run Code Online (Sandbox Code Playgroud)
这需要您使用以下命令打开 XML 报告生成grails-app/conf/BuildConfig.groovy:
coverage {
xml = true
}
Run Code Online (Sandbox Code Playgroud)
根据需要调整属性 ( line-rate, ) 和值。branch-rate
| 归档时间: |
|
| 查看次数: |
349 次 |
| 最近记录: |