2012-08-22 15 views

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.

+0

Yanıt için teşekkürler. Bunu bugün test edip bilmen gerekecek. – Npa

+0

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

+0

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

İlgili konular