问题标签 [vstest.console.exe]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何使用 vstest.console.exe 运行 BOOST 测试?
我正在使用 BOOST 测试来测试我的 C++ 代码。测试通常如下所示,并且测试项目构建为 exe。为了收集代码覆盖率信息,我希望能够使用 vstest.console.exe 运行我的测试,这样我就可以尝试使用它的 /Enablecodecoverage 选项。
我一直遇到“.exe 中没有可用的测试。确保测试发现器和执行器已注册并且平台和框架版本设置正确,然后重试。” 在这一点上我一无所知。
使用--diagnostic选项运行时,我在生成的文件中看到了这一点:
“C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Extensions\TestPlatform TpTrace 警告:0 : 13924, 3, 2020/10/15, 14:33:27.926, 1817417335033, testhost。 exe,TestPluginDiscoverer:无法从文件“C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Extensions\TestPlatform\Extensions\Microsoft.VisualStudio.Coverage.Interop.dll”加载扩展。跳过测试此文件的扩展扫描。错误:System.BadImageFormatException:无法加载文件或程序集“Microsoft.VisualStudio.Coverage.Interop”或其依赖项之一。尝试加载格式不正确的程序。文件名: 'Microsoft.VisualStudio.Coverage.Interop'"
我机器上的 Visual Studio 安装程序确认 Boost.Test 测试适配器已安装。
c# - 成功执行所有测试后导致 vstest 挂起的原因
我们正在使用 Visual Studio 测试框架和 C# 编写单元测试,最近我们遇到了一个问题,即 vstest.console.exe 在执行所有测试后有时会挂起。所有测试都通过了,但是 vstest.console.exe 只是永远坐在那里等待某事,而不是退出。
这可能与我们最近开始使用第三方库的变化有关。在调试中运行测试时,我们可以看到该库创建的多个线程在所有测试都已经通过后仍然挂起。
为了更好地理解问题,我尝试重现该问题,如下面的测试代码所示。但是,似乎 vstest.console.exe 在完成这样的测试后非常乐意退出。它似乎并不关心仍在运行的任何“野”线程。所以我的问题是:是什么导致 vstest 在执行所有测试后等待或不等待线程?换句话说,我应该如何修改下面的测试以使vstest在完成后挂起?
(请注意,我不是在问如何使测试挂起,我知道添加一个 thread.Join() 可以实现这一点。问题是测试通过后 vstest 本身挂起。)
c# - 如何使用运行设置从我的代码覆盖范围中排除模块/dll?
我正在拔头发试图让它发挥作用。我正在使用示例 .runsettings 文件https://docs.microsoft.com/en-us/visualstudio/test/customizing-code-coverage-analysis?view=vs-2019
我在跑步:
(我需要--enablecodecoverage吗?好像有没有都一样)
然后:
XML 包含名称中带有 Microsoft 的 DLL。(在我看来,它们也应该被排除在外)。
我添加了 XUnit 以排除并仍然在 XML 中列出 XUnit,并使用报告生成器从中生成报告。
XUnit dll 也包含在报告中。
我查看了日志,它显示了我的运行设置以及添加的 XUnit 排除项。
日志.txt
顺便说一句:我在 mcr.microsoft.com/dotnet/framework/sdk:4.8 windows 容器中运行它。
任何帮助表示赞赏。我希望根本看不到 Microsoft.SignalR.xx 或 XUnit.* dll。
编辑此文件和/或排除这些依赖 dll 的正确方法是什么?
c# - Visual Studio 2019 单元测试因 InvalidProgramException 而失败
有没有人在 Visual Studio IDE 2019 (16.9.3) 和通过 vstest.console.exe (16.9.1) 的命令行中遇到以下单元测试执行错误?
即使在安装了最新的 .NET 5.0.5 (5.0.202 SDK) 之后,也会发生这种情况。
我什至尝试调试到 Newtonsoft 13.0.1 但只是发现构造函数刚刚退出并在此处抛出异常。它甚至没有在这里击中 JContainer ctor 。
相同的逻辑在运行时运行良好,但不能通过/在测试 [Fact] 函数中运行。我将其提取出来以确保它是孤立的并且不会经过任何模拟/伪造。看起来像是某处的 .NET 测试引擎?
失败的单元测试项目使用以下内容:
- xunit (2.4.1)
- xunit.runner.visualstudio (2.4.3)
- NSubstitute (4.2.2)
- mstest.testframework (2.2.3)
- 微软.NET.Test.Sdk (16.9.4)
- Microsoft.QualityTools.Testing.Fakes (16.7.4-beta.20330.2)
它是一个 .NET FW 4.6.2 目标项目,带有 .NET SDK 样式的 csproj 文件设置,而不是旧的 .NET FW 结构。
来自单元测试命令行执行的堆栈跟踪:
请帮忙!!!提前致谢。
vstest.console.exe - 如何在未通过 RDP 连接的 VM 上运行编码的 ui 测试?
我在 VM 上的 Visual Studio 项目中使用 Teststack.White 创建了一些 codedui 测试。如果我从 VM 上的 Visual Studio 运行它们,那很好。
但我想通过从另一台机器上远程调用 VM 上的任务来运行它们。我可以成功调用任务,但它给出了一个错误
有什么帮助吗?
powershell - Powershell 将多个测试 dll 传递给 vstest.console.exe
我可以通过传递以空格分隔的文件名来成功运行单元测试。例如
但是当我使用 PS 脚本做类似的事情时
我得到了意想不到的东西...
由于 $JoinedPath 是一个带有引号的字符串,例如"a.dll b.dll"
所以 vstest.console.exe 总是会收到一个“a.dll”(vstest.console.exe“a.dll b.dll”)
我不知道如何准确地表达我的问题......
总之,我想用powershell来模拟命令
vstest.console.exe a.dll b.dll
不是
vstest.console.exe “a.dll b.dll”
我是 PowerShell 的新手,我不知道这是否可能。
.net - 测试运行将使用为框架 .NETFramework、Version=v4.0 和平台 X86 构建的 DLL。以下 DLL 与框架/平台不匹配
直到上个月,我们才能在 Azure Devops 构建管道中运行单元测试并将代码覆盖率发布到 sonarqube。现在我们在 .NET 代码的 Visual Studio 测试任务中收到以下错误。
测试运行将使用为框架 .NETFramework、Version=v4.0 和平台 X86 构建的 DLL。以下 DLL 与框架/平台设置不匹配。MedicareActual.Api.Tests.dll 是为 Framework 3.1 和 Platform AnyCPU 构建的。Microsoft.AspNetCore.TestHost.dll 是为 Framework 3.1 和 Platform AnyCPU 构建的。Microsoft.TestPlatform.CommunicationUtilities.dll 是为 Framework 1.4 和 Platform AnyCPU 构建的。Microsoft.TestPlatform.CoreUtilities.dll 是为 Framework 1.4 和 Platform AnyCPU 构建的。Microsoft.TestPlatform.CrossPlatEngine.dll 是为 Framework 1.4 和 Platform AnyCPU 构建的。Microsoft.TestPlatform.PlatformAbstractions.dll 是为 Framework 1.0 和 Platform AnyCPU 构建的。Microsoft.VisualStudio.TestPlatform.Common.dll 是为 Framework 1.4 和 Platform AnyCPU 构建的。Microsoft.VisualStudio.TestPlatform.ObjectModel.dll 是为 Framework 1 构建的。4和平台AnyCPU。testhost.dll 是为 Framework 1.0 和 Platform AnyCPU 构建的。
我们已经尝试使用测试文件中的上述特定 .dll 覆盖测试运行参数/其他控制台选项。但没有用。
c# - vstest.console.exe 不返回任何退出代码
问题:我正在运行 vstest.console,但它没有显示任何退出代码。下面是我正在运行的命令。
输出:部分输出是下面的文本,但我期待一个错误代码来确定测试是通过还是失败。示例:0 错误代码,如果没有失败,如果有失败则非零
试运行失败。总测试:100 通过:50 失败:50 总时间:2 分钟
问题:如何从 vstest.console.exe 获取退出代码
c# - 为什么自定义属性会降低 MSTest 中测试发现的速度?
我已经定义了一个新的类名 MyTestMethodAttribute,它是从 TestMethod 继承的,除了覆盖执行方法之外,我在这个自定义属性中没有任何更改:
所以问题是当我在测试方法上使用 [MyTestMethod] 属性时,发现 800 个测试的测试用例需要 10 多分钟,但是当我使用 [TestMethod] 属性时,发现所有测试用例需要不到几秒钟的时间测试,然后开始一一测试。
我还直接使用将参数放入 vstest.console.exe 来测试它,TestExproler 也曾经这样做过。
我需要补充一点,即使我没有覆盖执行方法,我也遇到了同样的问题。
asp.net - 为什么 Visual Studio 测试任务无法在 Azure DevOps 中创建代码覆盖率?
我正在将 Azure DevOps 2020 与自托管代理一起使用。使用它,我创建了一个使用 VS 测试任务执行 asp.net 单元测试用例的管道,并且还选择了启用代码覆盖选项。
测试用例正在成功执行,大约有 900 多个测试用例,但它正在创建的 .coverage 文件在 TestResults 文件夹下只有 1 KB,并且其中没有任何内容。我不确定为什么它没有创建完整的\正确的 .coverage 文件?
有什么我需要让开发团队添加到单元测试项目或我可以做些什么来创建 .coverage 文件?
我尝试了另一篇文章中提到的步骤以及运行 PS 脚本,但仍然无法创建任何内容。
如何在 Azure DevOps 构建中为 asp.net 单元测试生成代码覆盖率报告
Azure Devops VS 测试任务中的问题代码覆盖率。.Coverage 未创建
VS 测试任务完成后创建的 .coverage 文件截图。
测试结果.trx文件截图
代码覆盖率部分下的构建摘要上不显示代码覆盖率。