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,如果有帮助的话.