Sto cercando di riflettere più accuratamente la copertura del codice in un progetto su cui sto lavorando ma ho incontrato un problema quando si tratta di classi generate da Entity Framework. Vorrei escludere i costruttori di queste classi dalle statistiche di copertura, quindi ho aggiunto l'attributo ExcludeFromCodeCoverage
al modello T4 che rigenera le classi come mi aspetterei ad es.Attributo ExcludeFromCodeCoverage con dotCover in TeamCity 7
using System.Diagnostics.CodeAnalysis;
public partial class Address
{
[ExcludeFromCodeCoverage]
public Address()
{
this.Person = new HashSet<Person>();
}
...
}
che sto tentando di aggiungere questo a livello di metodo in quanto vi sono alcune classi parziali che contengono logica personalizzata che ha bisogno di essere testato e incluso nel statistiche code coverage.
Da quello che ho letto il ExcludeFromCodeCoverage
dovrebbero essere esclusi automaticamente quando si utilizza dotCover ma non sono sicuro se questo era vero quando si esegue tramite TeamCity, così ho inserito il filtro, come indicato nel Attribute filter syntax for code coverage in TeamCity (cercando sia ExcludeFromCodeCoverage
e ExcludeFromCodeCoverageAttribute
) con senza fortuna.
Grazie
Questo commento non è direttamente correlata alla TeamCity & dotCover, ma per coloro che utilizzano la linea di comando 'DotCover.exe' , per escludere il codice contrassegnato con l'attributo 'ExcludeFromCodeCoverage' dovresti usare il seguente' analisi dotCover.exe .../AttributeFilters = System.Diagnostics.CodeAnalysis.ExcludeFromCodeCoverageAttribute', non hai bisogno della sintassi '-:' come con il parametro '/ Filters ='. –