5

私はgrailsアプリケーションに取り組んでいます。cobertura を使用して、コード カバレッジ レポートを生成します。ここで、コード カバレッジが 90% 未満の場合にビルドが失敗するように、grails プロジェクトを変更したいと考えています。どうすればgrailsでこれを達成できますか?

4

1 に答える 1

4

コード カバレッジ プラグインがこれを直接サポートしているとは思いませんが、強力な 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!")
    }
  }
}   

これには、次の で XML レポートの生成を有効にする必要がありますgrails-app/conf/BuildConfig.groovy

coverage {
    xml = true
}

line-rate必要に応じて属性 ( 、branch-rate) と値を調整します。

于 2012-08-22T18:06:21.983 に答える