2010-03-10 40 views

cevap

0

Bunu bir oluşturma göreviyle gerçekleştirmenin bir yolu olması muhtemeldir (özellikle kendi yuvarlanmaya hazırsanız). Umarım birisi sizin için bazı örnek kodlar gönderir.

Değilse, bu tür bir görev için NDepend ile etkilendim. Kodunuzla ilgili her tür metriği belirlemek için çok açıklayıcı, SQL benzeri bir sözdizimi yazabilir ve eşikleri temel alarak bir yapıyı uyarır veya başarısız kılabilirsiniz.

Örnekler:

WARN IF Count > 0 IN SELECT METHODS WHERE CodeWasChanged AND PercentageCoverage < 95 
WARN IF Count > 0 IN SELECT METHODS WHERE IsPublic AND IsInOlderBuild AND WasRemoved 
2

ana konu MSTest üreten kod kapsamı sonuç dosyası bir ikili formatta olmasıdır.

http://codeexperiment.com/file.axd?file=2008%2f9%2fCodeCoverageConverter.zip

NOT: Ancak, işler VS2010 çok fazla değişmediğini varsayarak, bir XML dosyası haline dönüştürmek için bu programı kullanmak gerekir Muhtemelen karşı yeniden derlemek gerekir 'Microsoft.VisualStudio.Coverage.Analysis.dll dosyasının VS2010 sürümü.

Daha sonra, genel bir kapsam oranını hesaplamak için, bu XML dosyasının ayrıştırılması için tercih ettiğiniz yöntemini kullanarak, enstrümanlandırılmış derlemeler için her bir matematiği gerçekleştirebilirsiniz. Eğer (en azından VS2008 için) ilgilendiğiniz XPath'ler şunlardır:

/CoverageDSPriv/Module/LinesCovered 
/CoverageDSPriv/Module/LinesNotCovered 

saf MSBuild bu son adımı yapmak istiyorsanız, daha sonra 'XmlRead' ve 'Math'ın' görevler MSBuild Topluluk Görevler içinde bulunan kütüphane yeterli olmalıdır: Eğer bir MSBuild özelliğinde genel orana sahip kez

http://msbuildtasks.tigris.org/

, basitçe o numara istenen eşikten düşük ise yapı kırmak için bir koşullu görevi kullanın.

<Error Condition=" $(CodeCoverageRatio) &lt; $(MinCodeCoverage) " 
     Text="Code Coverage is below required threshold." /> 
0

Antik soru, ancak yanıt olarak işaretlenmedi. this

'a bir göz atın.
İlgili konular