我对单元测试非常陌生,并尝试在 C# Dotnet Core 3.1 项目中实现 NUnit。 我认为测试正在工作,但我真的很想调试(并单步执行)测试以确保一切正常。
但是,当我右键单击测试并选择“调试”时,会发生(或不发生)两件事:
我在 Stackoverflow 上发现一个线程,说你必须在调试设置中设置外部程序,但 VS2022 没有这些屏幕或设置。
更新:我创建了一个愚蠢简单的 dotnet core 控制台项目(并以相同的方式添加了 NUnit)并且调试工作得很好。所以,这是我试图添加测试的项目的一些内容:它是一个 dotnet core 3.1 Web 项目。
第二次更新:所以我创建了一个愚蠢简单的 dotnet core web 项目(并添加了 NUnit)并且调试工作正常。所以,这是关于我的项目的一些事情(并且可能与该错误消息有关,该错误消息说它找不到项目 GUID:xxxxxxx(不再有它了)。
第三次更新:所以我(再次)删除了 NUnit 测试项目并重新创建了它,并让它变得非常简单(只是 VS2022 在打开时创建的任何内容)并且它可以调试!现在开始添加代码并找出破坏它的原因!
想法?
TIA,
仔细检查您的测试项目的 Properties 文件夹中是否有
launchSettings.json
(例如 iisSettings 等)文件。如果是,则将其删除并重试。
从 Visual Studion 菜单中:
测试 -> 调试所有测试
因此,没有什么因素会导致调试无法进行。删除 NUnit 测试项目(第三次)并再次从头开始重新创建测试(和 oneTimeStartup 代码)后,NUnit 测试调试(并且断点停止),并且没有错误指出找不到某些项目 guid。去算算吧。
所以,如果这种情况发生在你身上,你并没有疯。删除并重新创建 NUnit 测试项目几次(并逐步实施测试),它最终会起作用!