Sni*_*tor 1 code-coverage azure-devops
我有一个在 Visual Studio Team Services(以前称为 Visual Studio Online)上运行的构建。我想从代码覆盖率计算中排除一些程序集。基于我从 许多 来源阅读的格式。我创建了一个 .runsettings 文件,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
<DataCollectionRunSettings>
<DataCollectors>
<DataCollector friendlyName="Code Coverage"
uri="datacollector://Microsoft/CodeCoverage/2.0"
assemblyQualifiedName="Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector, Microsoft.VisualStudio.TraceCollector, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<Configuration>
<CodeCoverage>
<ModulePaths>
<Exclude>
<ModulePath>*AWSSDK*</ModulePath>
</Exclude>
</ModulePaths>
</CodeCoverage>
</Configuration>
</DataCollector>
</DataCollectors>
</DataCollectionRunSettings>
</RunSettings>
Run Code Online (Sandbox Code Playgroud)
但这会产生以下错误:
正在开始测试执行,请稍候...错误:System.InvalidOperationException:无法在流程流上混合同步和异步操作。在System.Diagnostics.Process.get_StandardError()在Microsoft.VisualStudio.Coverage.Vanguard.Wait()在Microsoft.VisualStudio.Coverage.Vanguard.Start(字符串outputName,DataCollectionContext上下文)在Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollectorImpl.StartVanguard( DataCollectionContext 上下文)位于 Microsoft.VisualStudio.Coverage.UnitTestDataCollector.SessionStart(对象发送者,SessionStartEventArgs e)位于 Microsoft.VisualStudio.Coverage.DynamicCoverageDataCollector.SessionStart(对象发送者,SessionStartEventArgs e)位于 System.EventHandler`1.Invoke(对象发送者,TEventArgs) e) 在 WEX.TestExecution.TaefDataCollectionEvents.OnSessionStart(SessionStartEventArgs e) 在 WEX.TestExecution.DataCollectorTestMode.Initialize(ITestModeSettings settings, ICallbackRegistrar callbackRegistrar) 信息:此外,如果安装了测试发现器和执行器,您可以尝试指定“/UseVsixExtensions”命令在计算机上作为 vsix 扩展,并且您的安装支持 vsix 扩展。示例:vstest.console.exe myTests.dll /UseVsixExtensions:true VSTest 测试运行失败,退出代码:1
是的,一些测试正在使用 async/await。相同的 .runsettings 文件在 Visual Studio 2015 中工作正常。如果我按照建议操作并添加以下选项:/UseVsixExtensions:true,结果是相同的。我怎样才能解决这个问题?
runsettings 文件使用以下正则表达式来匹配文件:
正则表达式 包含和排除节点使用正则表达式。有关详细信息,请参阅在 Visual Studio 中使用正则表达式。正则表达式与通配符不同。尤其:
.* 匹配任意字符的字符串
。匹配一个点“.”)
( ) 匹配括号“( )”
\ 匹配文件路径分隔符“\”
^ 匹配字符串的开头
$ 匹配字符串的结尾
使用原始路径时,所有文件都将被排除,因为路径中只有“*”。有关详细信息,请参阅此链接:Visual Studio 中的正则表达式。
对于不良异常,根据您提供的日志,您正在使用托管构建代理运行构建。我使用托管构建代理进行了快速测试,也可以重现此问题。但是,当我尝试使用自己的构建代理时,不会出现此问题。我怀疑托管构建代理上的某些设置/配置导致了此问题,我已帮助您在 Microsoft Connect 页面上提交反馈。您可以检查此链接进行跟踪:从托管构建代理运行测试时出现无效异常
| 归档时间: |
|
| 查看次数: |
2729 次 |
| 最近记录: |