为什么Visual Studio 2019无法运行我的单元测试?

10 浏览
0 Comments

为什么Visual Studio 2019无法运行我的单元测试?

我在VS2019中遇到了一些非常奇怪的NUnit测试行为,而在VS2017中相同的解决方案运行正常。我的解决方案中有几个NUnit测试项目。

在安装了NUnit Runner扩展的VS2017中,我可以在“测试资源管理器”窗口中看到所有的测试,并且“运行全部”按钮可以正常运行所有的测试。我的组织中的一些开发人员使用Resharper而不是NUnit扩展,这也可以正常工作。

我不再使用Resharper,因为随着VS引入更多功能,Resharper使其变得非常慢,无法使用。

在VS2019中,“测试资源管理器”窗口将显示所有的单元测试(即使没有安装NUnit扩展)。如果我点击“运行全部”,它将不会运行任何测试,并且“输出”窗口将显示0个测试被发现。同事们说Resharper可以正常运行所有的测试。如果我右键单击一个测试项目并只运行这些测试,一些项目将运行测试,但不是全部。

对于一些项目,我尝试安装NUnit3TestAdapter nuget包,这样VS2019就可以运行该项目的测试,但只有选择了该项目。这对于所有项目都不起作用,也无法解决“运行全部”的问题。

有人知道是什么原因导致了这个问题,以及如何修复吗?我已经更新了所有这些项目的最新版本NUnit(3.12)和最新的TestAdapter(3.16)。

这个问题已经困扰我大约一年了,因为我需要同时安装VS2017和2019,并且需要教新的开发人员如何解决这个奇怪的问题。

0
0 Comments

为什么Visual Studio 2019无法运行我的单元测试?

出现的原因:

- 检查日志记录时,发现问题

- 在“工具 - 选项 - 测试 - 一般”设置中,将日志记录级别设置为“诊断”。这将在输出窗口的测试输出窗格中产生额外的输出。

- 在我的情况下,问题与缺少“.NET Core 3.1桌面运行时”的版本有关。

解决方法:

- 在以下链接中下载最新版本的“.NET Core 3.1桌面运行时”:https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-desktop-3.1.14-windows-x86-installer

0
0 Comments

问题:为什么Visual Studio 2019无法运行我的单元测试?

原因:

1. 在顶部菜单中,导航到“Test > Options”,禁用“Discover tests in real time from C# and Visual Basic .NET source files”选项。这个选项与参数化测试不兼容。问题在于参数化测试在源代码中并不存在,而是在运行时由测试适配器生成。这也解决了一个问题,即参数化测试的“基础”测试会在测试资源管理器中显示为未运行的测试,即使只有特定的测试用例是真正的测试。(在我看来,这个选项不应该默认启用,因为参数化测试非常有用,而在测试资源管理器中看到新的测试而无需编译只是一个微不足道的便利,因为你必须编译才能运行它们。)

2. 使用NuGet包来代替使用VSIX扩展的测试适配器。只要解决方案中至少有一个项目引用了测试适配器的NuGet包,所有的测试项目都可以运行。(对我来说,这是有道理的,因为它与Visual Studio之外的构建工具更兼容。)

解决方法:

1. 在顶部菜单中导航到“Test > Options”。

2. 禁用“Discover tests in real time from C# and Visual Basic .NET source files”选项。

3. 使用NuGet包来代替使用VSIX扩展的测试适配器。确保至少有一个项目引用了测试适配器的NuGet包。

注意:对于问题2,没有具体指明要使用哪个NuGet包,可能是NUnit3TestAdapter。

希望以上解决方法对您有所帮助。

0
0 Comments

问题:为什么Visual Studio 2019无法运行我的单元测试?

原因:根据用户的反馈和经验,发现在某些情况下,需要安装额外的软件包才能使Visual Studio 2019能够运行单元测试。具体来说,在某些版本中,需要安装以下三个软件包:NUnit(版本3.12.0)、NUnit3TestAdapter(版本3.17.0)和Microsoft.NET.Test.Sdk(版本16.7.1)。

解决方法:根据用户的反馈,有以下几种解决方法:

1. 安装NUnit、NUnit3TestAdapter和Microsoft.NET.Test.Sdk三个软件包。这是最常见的解决方法。

2. 只安装NUnit3TestAdapter软件包,而不安装Microsoft.NET.Test.Sdk软件包。对于某些用户来说,这种方法也能解决问题。

3. 检查NUnit3TestAdapter的版本。在某些情况下,最新版本的NUnit3TestAdapter可能会导致运行时错误,需要调整nUnit的[SetUp]属性的方法参数。

根据用户的反馈和经验,为了使Visual Studio 2019能够运行单元测试,需要安装NUnit、NUnit3TestAdapter和Microsoft.NET.Test.Sdk三个软件包。其中,Microsoft.NET.Test.Sdk软件包在某些版本中是必需的,而NUnit3TestAdapter软件包的版本也需要注意。希望这些解决方法能帮助到大家解决问题。

0