我的Visual Studio确实发现了我的Xunit测试,但“全部运行”(ctrl + R,A)不会运行它们。 但是我可以手动选择这些测试来运行它们。
控制台输出:
========== Discover test finished: 2 found (0:00:01,6982309) ==========
------ Run test started ------
========== Run test finished: 0 run (0:00:01,8070484) ==========
除了XUnit,我还安装了xunit.runner.console和xunit.runner.visualstudio。 我测试了一个新项目的确认。在我的实际项目中也是如此。但是,Ctrl + R,A确实会运行所有MSTests。
为什么“全部运行”不能与XUnit一起使用?
答案 0 :(得分:1)
我有同样的问题。当一个接一个地选择时,测试运行良好,但是当选择多个或所有测试时,仅执行其中一些测试,而其他带有感叹号的测试(不运行)则不显示任何异常消息。
我终于找到了问题:在任何CPU配置中加载x64版本时,其中一个NuGet软件包(在我的情况下为V8.Net)引起异常,这导致测试运行程序悄悄地放弃了某些执行程序(看似随机的)测试。
我在事件查看器中找到了这个
Faulting application name: dotnet.exe, version: 2.2.27818.2, time stamp: 0x5d09400d
Faulting module name: V8_Net_Proxy_x64.dll, version: 1.0.0.1, time stamp: 0x5cc8b077
Exception code: 0x80000003
Fault offset: 0x0000000000f810ee
Faulting process id: 0x36a8
Faulting application start time: 0x01d5487db05f8083
Faulting application path: C:\Program Files\dotnet\dotnet.exe
Faulting module path: C:\[my project path].BaseTests\bin\Debug\netcoreapp2.2\V8_Net_Proxy_x64.dll
Report Id: 4a76ea19-6dac-4c83-b589-252722073405
Faulting package full name:
Faulting package-relative application ID:
删除对有问题的dll的引用即可解决问题。