2015-05-15 19 views
5

TFS'de Kod Kapsamı yordamında analiz edilen derlemeleri, bir çalışma ayarları dosyası kullanarak kısıtlamaya çalışıyorum, ancak bazı meclisler açıkça hariç tutmamlarım bile analiz edilmesinde ısrar ediyorlar.Belirli derlemelerin Kod Kapsamı dışında bırakılmasını nasıl önleyebilirim?

Bu benim şimdiki runsettings dosya içeriği olan:

<?xml version="1.0" encoding="utf-8"?> 
<RunSettings> 
    <!-- Configurations for data collectors --> 
    <DataCollectionRunSettings> 
    <DataCollectors> 
     <DataCollector friendlyName="Code Coverage" 
        uri="datacollector://Microsoft/CodeCoverage/2.0" 
        assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> 
     <Configuration> 
      <CodeCoverage> 
      <ModulePaths> 
       <Include> 
       <ModulePath>.*Cloud4Mobile.*</ModulePath> 
       </Include> 
       <Exclude> 
       <ModulePath>.*Tests.dll$</ModulePath> 
       <ModulePath>.*TestUtilities.dll$</ModulePath> 
       </Exclude> 
      </ModulePaths> 
      <CompanyNames> 
       <Include>.*Mobiltec.*</Include> 
      </CompanyNames> 
      </CodeCoverage> 
     </Configuration> 
     </DataCollector> 
    </DataCollectors> 
    </DataCollectionRunSettings> 
</RunSettings> 

Ama bu dosyayı sınamak için Visual Studio kod kapsama çalıştırdığınızda, analiz hala bana AutoMapper ve benzeri benim filtreyle eşleşmeyen diğer meclisleri, gösterir CacheManager: ayarlarım zaten açıkça böyle, boşuna onları dışlamak için çalıştı o zaman bile, varsayılan olarak bu derlemeleri hariç fakat

enter image description here

Not:

<Exclude> 
    <ModulePath>^AutoMapper.dll$</ModulePath> 
    ... 
</Exclude> 
daha az kısıtlayıcı ile (kullanılmıştır. *), Orada düzenli ifade tüm varyasyonlar denedi (bu örnekte olduğu gibi), en kısıtlayıcı için. Bu derlemeler, TFS Oluşturma özetine ulaştığım raporu kirletiyor ve bunları analizden çıkarmak istiyorum. Bu tabii ki çok yararsız ben TFS gelen başlamıştı tam çıktısı:

enter image description here

Bu .runsettings yapılandırma dosyası olanların çoğunu uzaklaştırmak başardı ama nasıl bu aykırı yaptığınızdan emin olun do orada da gösterme Her şey dahil filtrelerimle eşleştirilmedikleri için neden ilk etapta gösteriliyorlar?

cevap

2

Benim tahminim, Automapper.dll'daki . soruna neden oluyor. size sadece modulepaths istisnalar içinde .*\.dll kullanmalıdır varsayılan olarak her şeyi hariç davanız için

<Exclude> 
    <ModulePath>.*AutoMapper\.dll$</ModulePath> 

kullanarak deneyebilirsiniz.

+0

Bunu denedim ve çalışmadı. AutoMapper kelimesini içeren istisna çeşitlerini aynı sonuçlarla denediğimi düşünüyorum. Her şeyi hariç tutmayla ilgili öneriniz için, dışlama listesinin dahil edilmesinden beri çalışmanın işe yaramayacağını düşünmüyorum, dolayısıyla hiçbir şey seçilemez. – julealgon

+0

@julealgon Bunu '. * AutoMapper. *' 'Exclude' 'bölümüne/elemanına eklemeyi denediniz mi? – mguassa

0

Bu açık gibi görünebilir, ancak .runsettings dosyasını içerecek şekilde yapı tanımınızı güncelleştirdiniz mi? CodeCoverage'un yapınızda etkin olması için bir şey var, ancak .runsettings dosyasının yolunu belirtmeniz gerekiyor.

+0

Evet, daha sonra çalışma tanımında doğru şekilde çalışma dosyalarını belirledim. Giriş için teşekkürler, ancak muhtemelen bu tür soruları bu tür bir yanıt yerine yorumlarda sormayı düşünmelisiniz. – julealgon

+0

Benim hatam. Buradaki şeyleri cevaplamakta oldukça yeni. Rehberlik için teşekkürler. –

İlgili konular