发现了XUnit测试,但未通过“运行所有测试”运行

时间:2017-07-06 19:18:20

标签: c# unit-testing visual-studio-2015 tdd xunit

我的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一起使用?

1 个答案:

答案 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的引用即可解决问题。