标记为"ExcludeFromCodeCoverage"的异步方法仍显示为Sonarqube未涵盖

Cra*_*der 7 c# code-coverage async-await sonarqube

我有一个Windows服务,其中几乎没有异步方法.
我正在为所有这些方法编写单元测试用例.对于一个异步方法,我不想编写任何测试用例,所以我用它来装饰该方法[ExcludeFromCodeCoverage].

我正在使用Sonarqube检查代码覆盖率.
我观察到的是异步方法[ExcludeFromCodeCoverage]

[ExcludeFromCodeCoverage]
async Task IEventProcessor.CloseAsync(PartitionContext context, CloseReason reason) { 
    if (reason == CloseReason.Shutdown) {
        await context.CheckpointAsync();
    }
}
Run Code Online (Sandbox Code Playgroud)

仍然显示为sonarqube工具未涵盖.

但是当我重构我的代码以从方法中删除异步时,

[ExcludeFromCodeCoverage]
Task IEventProcessor.CloseAsync(PartitionContext context, CloseReason reason)  
    if (reason == CloseReason.Shutdown) {
        return context.CheckpointAsync();
    }
    return Task.CompletedTask;
}
Run Code Online (Sandbox Code Playgroud)

它按预期工作正常.

所以想知道,为什么sonarqube不考虑异步方法.

是否有任何设置或配置要做,我可能会失踪?

我正在使用Visual Studio 2015 Professional,框架:4.6.1,SonarQube - 7.1,如果有帮助的话.