Я знаю, что этот вопрос задавался и раньше, но я не мог найти решение этой проблемы.
У меня есть процессор-концентратор событий Microsoft Azure, ProcessorHost
, который реализует интерфейс IEventProcessor
.
У него есть методы IEventProcessor.OpenAsync
, IEventProcessor.CloseAsync
и несколько других пользовательских методов в этом классе. Для этих пользовательских методов я написал тестовые примеры, используя MSTest, и они прошли.
Теперь я украсил OpenAsync
и CloseAsync
методы [ExcludeFromCodeCoverage]
, как указано ниже.
[ExcludeFromCodeCoverage]
async Task IEventProcessor.CloseAsync(PartitionContext context, CloseReason reason)
{
}
[ExcludeFromCodeCoverage]
Task IEventProcessor.OpenAsync(PartitionContext context)
{
}
Я использую Sonar-Cube для проверки покрытия кода. Когда я запускаю отчет, чтобы увидеть покрытие кода, он показывает, что метод OpenAsync
покрыт, но метод CloseAsync
не покрыт даже после декорирования [ExcludeFromCodeCoverage]
.
Итак, я хочу знать, есть ли что-то еще, что нужно сделать для метода CloseAsync, чтобы исключить его из покрытия кода.
РЕДАКТИРОВАТЬ:
Полный метод closeAsync
async Task IEventProcessor.CloseAsync(PartitionContext context, CloseReason reason)
{
if (reason == CloseReason.Shutdown)
{
await context.CheckpointAsync();
}
}