Этот вопрос является современным реинкарнацией Исключить автоматические свойства из покрытия кода в Visual Studio 2015 Меня интересуют только VS 2019 и. Net Core 3.1.
Мой текущий CodeCoverage Файл .runsettings содержит следующий раздел:
<Attributes>
<Exclude>
<Attribute>^System\.Diagnostics\.DebuggerHiddenAttribute$</Attribute>
<Attribute>^System\.Diagnostics\.DebuggerNonUserCodeAttribute$</Attribute>
<Attribute>^System\.CodeDom\.Compiler\.GeneratedCodeAttribute$</Attribute>
<Attribute>^System\.Runtime\.CompilerServices\.CompilerGeneratedAttribute$</Attribute>
<Attribute>^System\.Diagnostics\.CodeAnalysis\.ExcludeFromCodeCoverageAttribute$</Attribute>
</Exclude>
</Attributes>
Дело в том, что автоматическим свойствам присваивается атрибут * CompilerGenerated
. Однако такой подход неверен, поскольку методы async
также преобразуются компилятором в методы с таким же атрибутом. Таким образом, используя этот подход, мы теряем охват методов async
. Не хорошо.
Итак, есть ли способ в покрытии кода VS, чтобы пропустить покрытие на автоматических свойствах, как мы можем сделать в OpenCover или DotCover?