如何在 Visual Studio 2022 中调试 NUnit 测试

问题描述 投票:0回答:3

我对单元测试非常陌生,并尝试在 C# Dotnet Core 3.1 项目中实现 NUnit。 我认为测试正在工作,但我真的很想调试(并单步执行)测试以确保一切正常。

但是,当我右键单击测试并选择“调试”时,会发生(或不发生)两件事:

  1. 我收到一条错误消息“存在构建错误。您想继续运行上次成功构建的测试吗?” (当我查看输出窗口时,没有错误,但有两个警告说“ProjectData:找不到带有 GUID adf53ed2 的项目...”。
  2. 未进行调试(未命中断点),但测试“运行”并通过。

我在 Stackoverflow 上发现一个线程,说你必须在调试设置中设置外部程序,但 VS2022 没有这些屏幕或设置。

更新:我创建了一个愚蠢简单的 dotnet core 控制台项目(并以相同的方式添加了 NUnit)并且调试工作得很好。所以,这是我试图添加测试的项目的一些内容:它是一个 dotnet core 3.1 Web 项目。

第二次更新:所以我创建了一个愚蠢简单的 dotnet core web 项目(并添加了 NUnit)并且调试工作正常。所以,这是关于我的项目的一些事情(并且可能与该错误消息有关,该错误消息说它找不到项目 GUID:xxxxxxx(不再有它了)。

第三次更新:所以我(再次)删除了 NUnit 测试项目并重新创建了它,并让它变得非常简单(只是 VS2022 在打开时创建的任何内容)并且它可以调试!现在开始添加代码并找出破坏它的原因!

想法?

TIA,

c# .net-core nunit asp.net-core-3.1 visual-studio-2022
3个回答
1
投票

仔细检查您的测试项目的 Properties 文件夹中是否有

launchSettings.json
(例如 iisSettings 等)文件。如果是,则将其删除并重试。


0
投票

从 Visual Studion 菜单中:

测试 -> 调试所有测试


-1
投票

因此,没有什么因素会导致调试无法进行。删除 NUnit 测试项目(第三次)并再次从头开始重新创建测试(和 oneTimeStartup 代码)后,NUnit 测试调试(并且断点停止),并且没有错误指出找不到某些项目 guid。去算算吧。

所以,如果这种情况发生在你身上,你并没有疯。删除并重新创建 NUnit 测试项目几次(并逐步实施测试),它最终会起作用!

© www.soinside.com 2019 - 2024. All rights reserved.