2013-10-25 32 views
7

Çalıştığım bir projedeki kod kapsamını daha doğru yansıtmaya çalışıyorum ancak Entity Framework tarafından oluşturulan sınıflar söz konusu olduğunda bir sorunla karşılaştım. Bu sınıfların yapıcılarını kapsama istatistiklerinden hariç tutmak istiyorum. Bu nedenle, 0,özniteliğini, sınıfları yeniden tahmin edeceğim şekilde yeniden üreten T4 şablonuna ekledim. TeamCity 7 içinde dotCover ile ExcludeFromCodeCoverage özniteliği 7

using System.Diagnostics.CodeAnalysis; 

public partial class Address 
{ 
    [ExcludeFromCodeCoverage] 
    public Address() 
    { 
     this.Person = new HashSet<Person>(); 
    } 

    ... 
} 

ben test ve kod kapsamı istatistikleri dahil edilmesi gerekmektedir özel mantık içeren bazı kısmi sınıfları olduğu gibi yöntem düzeyinde bu eklemek çalışılıyor. Ben ExcludeFromCodeCoverage okudum kadarıyla

otomatik dotCover kullanırken dışlanan ama TeamCity aracılığıyla çalıştırırken bu doğru olsaydı emin değilim, bu yüzden birlikte Attribute filter syntax for code coverage in TeamCity belirtildiği gibi filtreyi (hem ExcludeFromCodeCoverage ve ExcludeFromCodeCoverageAttribute çalışıyor) dahil edilmelidir şanssız.

Teşekkürler

cevap

13

Sizinle aynı TeamCity sürümüne sahibim. Benim için iyi çalışıyor. Yapılandırmanızın doğru olup olmadığını kontrol etmelisiniz.

Öznitelik Filtreleri: bölümünde öznitelik adını belirtmelisiniz. Senin durumunda metni olmalıdır:

-:System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute

İşaretli üyeler (sınıflar için) görüntülenen veya TeamCity kapsama raporun size kırmızı/yeşil işaretli olmamalıdır.

Daha talimatlar ben benzer bir sorunu vardı

here bulunabilir. Benim "Kod kapsama" inşa aşamasına ekleyerek kapsama oluşturulan sınıf dışlanan:

-:assembly=<assembly name>*;type=*<part of generated classname>*;method=*

+0

Bu yorum, doğrudan TeamCity & DotCover ile ilgili değil, ama 'DotCover.exe' komut satırını kullananlar için 'ExcludeFromCodeCoverage' özniteliği ile işaretlenmiş kodları hariç tutmak için aşağıdakileri kullanmalısınız: dotCover.exe analyze .../AttributeFilters = System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute ',' -: 'sözdizimine ihtiyacınız yoktur. '/ Filters =' parametresi. –