当我在Visual Studio Test Explorer的早期版本中运行测试时,出现导致构建运行器崩溃的问题(例如AccessViolationException
,StackOverflowException
,OutOfMemoryException
等) ,它会输出一条消息,显示抛出的异常类型以及如何启用日志以获取更多详细信息。
使用Visual Studio 2017 Community Edition版本15.3.2和.NET Core 1.0,当发生崩溃时,测试输出中显示的是:
[8/30/2017 3:03:42 AM错误]活动的测试运行已中止。
[8/30/2017 3:03:42 AM Informational] ==========运行测试完成:1030 run(0:41:12.5762484)==========
如何确定导致构建运行器崩溃的异常类型(最好是使用堆栈跟踪)?
注意:我在此次调查期间打开了issue with NUnit,询问如何确定哪些测试导致崩溃。我已经分离(并解决了)其中两个原因。
Debug.Assert
fails 但至少还有一个问题导致崩溃。我试图弄清楚为什么测试运行程序在Visual Studio 2017中崩溃但在命令行上没有崩溃。
另请注意,在.NET Framework上运行时不会发生此特定崩溃,因此建议使用不支持.NET Core 1.0或.NET Core 2.0的命令行工具(例如vstest.console.exe
)没用。
答案 0 :(得分:1)
这是几个与此类似的报道问题。它似乎是实体框架核心的一个错误,尚未修复。这也是.NET Core命令行(CLI)中的一个问题,已经修复。
打开问题
SqlLite.FunctionalTests sometimes fail on Ubuntu #8642也有同样的问题,不同的应用类型,但同样的问题。 OP也难以找到错误的痕迹。
The active test run was aborted. Reason:
null
当前打开的一个已标记为已阻止:
再次讨论分类,并决定我们需要获得更多信息 来自试验跑步者。评论Microsoft/vstest#527要求 更多信息。现在标记为已阻止,直到我们从中获取一些信息 vstest团队。
于6月22日关闭
有一个The reason why the test run was aborted is not indicated. #527
被标记为副本:
Show the test which crashed the test run (test explorer) #627
解决方案
这是在dotnet-cli的最新开发版本中修复的 2.0.0 preview1-005963。从https://dotnetcli.blob.core.windows.net/dotnet/Sdk/release/2.0.0/dotnet-dev-win-x64.latest.zip下载。
我们也为VS修了它。将在具有修复的构建时更新 可用。
注意:由于dotnet/cli#6535,将显示netcoreapp2.0的问题。
并且
... / fix在VS15.3.0 preview2中可用。
如何获取崩溃日志
除了确保您启用诊断功能(我确信您拥有),或在控制台上运行诊断程序。
来自github问题的comment 显示导致测试运行崩溃的测试(测试资源管理器)#627
您可以启用--diag:log.txt开关来获取更多日志并进行分析 log.txt和log。*。host.txt了解更多详情?
关闭为无重复
No explanation of aborting test when a static constructor throws exception. #334报告了同样的问题:
The active test run was aborted. Reason:
没理由。
它被关闭,因为没有repro。
解决在主线程Running unit tests with a main loop上运行nunit测试的需要。