Grails uygulamasında çalışıyorum. Kod kapsamı raporlarını oluşturmak için cobertura kullanıyoruz. Şimdi, proje kapsamı, kod kapsamı% 90'dan daha az olursa, yapının başarısız olması için projeyi değiştirmek istiyorum. Bunu gradlarda nasıl yapabilirim?Building grails projeyi başarıyla kapsayıcı denetimi başarıyla geçiyorsa
5
A
cevap
4
Kod kapsamı eklentisinin bunu doğrudan desteklediğini sanmıyorum, ancak güçlü sınıflar oluşturma altyapısı altyapısına girerek yapılabilecek kadar kolaydır. senin scripts/_Events.groovy
bu yerleştirerek, yapı başarısız olur kapsama belirli bir eşiğin altında ise:
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!")
}
}
}
Bu grails-app/conf/BuildConfig.groovy
bu XML rapor oluşturma açmak gerektirir:
coverage {
xml = true
}
ayarlayın özniteliği (line-rate
, branch-rate
) ve gerektiği şekilde değer.
Yanıt için teşekkürler. Bunu bugün test edip bilmen gerekecek. – Npa
Bu eventStatusFinal'in kapanmasını her yerden çağırmamız gerek. Projemde cobertura eklentisi var. Benim için kod kapsama raporları üretiyor. Bu iletiye 'iletinin' nasıl gönderileceğinden emin değil misiniz? – Npa
Hayır, sınıf oluşturma sistemi StatusFinal olayı olduğunda bunu çağırır. Kod kapsamı eklentisi, raporunu yazmayı bitirdiğinde olayı tetikler. – ataylor