【问题标题】:Can't debug NUnit tests with Visual Studio无法使用 Visual Studio 调试 NUnit 测试
【发布时间】:2012-11-19 01:41:27
【问题描述】:

尝试在 VS2010 中调试 NUnit 测试并且没有在断点处停止。上次我尝试需要调试测试时(可能是 1 年前)它正在工作,但现在它不起作用。

我尝试了以下方法:

我已尝试附加、重新检查我的安装、更新配置文件以使其使用 4.0 运行时,但仍然没有命中断点。

我错过了什么?

【问题讨论】:

  • 你试过关闭再打开吗?
  • 你检查了哪个配置文件?您必须将 放入 nunit.exe.config
  • 是的。我切换了断点,重新启动了开发机器,甚至升级了 Nunit。
  • 将其添加到 nunit.exe.config。只是为了笑,我将它添加到其他 nunit 配置(nunit-agent、nunit-agent-x86、nunit-console-x86)
  • 您是否尝试过将调试器附加到 nunit-agent 进程而不是 nunit 进程?

标签: visual-studio-2010 visual-studio unit-testing nunit


【解决方案1】:

前几天我在 NUnit 调试中没有遇到断点。我花了一段时间才意识到有人将测试复制/粘贴到不同的文件中,而我运行的测试与断点所在的测试不同。

【讨论】:

    【解决方案2】:

    我认为您无法使用 Visual Studio 进行调试。最好安装 TestDriven.NET。

    然后

    1. 把BreakPoint放在测试方法上
    2. 右击测试 方法。
    3. 选择TestWith->调试器

    【讨论】:

      【解决方案3】:

      我最近遇到了类似的问题。将项目平台更改为 AnyCPU 为我解决了这个问题。也值得检查:

      1) 查看NUnit的最新版本(我用的是2.5.7,更新到2.6.2) 2) 测试项目的目标框架。我使用的是 .NET 4.0(您可以在 VS2010 上的属性 -> 应用程序下找到它)

      【讨论】:

        【解决方案4】:

        至少到 vs2010 调试器只能调试 32 位应用程序,但不能调试 64 位应用程序。

        在 vs2010 中,我使用的是 32 位 nunit.exe 版本,并使用“附加到调试器”。这对我很有效。

        【讨论】:

          【解决方案5】:

          这是一个早该提出的问题,但我还没有看到直接在 Visual Studio 中调试 NUnit 测试的解决方案。这很容易实现,无需任何第三方工具。您所要做的就是配置您的测试项目(这只是一个普通的旧类库项目),以便在您点击 F5 或 Ctrl-F5 时启动 NUnit 测试运行程序(只运行,不调试)。

          特别是你必须配置你的项目属性来启动一个外部程序:

          逐步配置在this blog post 中有很好的描述。它建议您在尝试运行库项目时使用 NuGet 获取 NUnit 测试运行程序并配置项目以执行运行程序。就如此容易。 不使用特定工具,这些工具通常不是免费的。

          【讨论】:

            【解决方案6】:

            发生这种情况的原因有多种。如果您的应用程序的目标框架与 NUnit 的不同,那么您将无法调试,因为测试实际上是由 nunit-agent.exe 运行的。

            对我来说,我的应用程序使用的是 4.5,但 NUnit 使用的是 3.5。 (您可以从 NUnit GUI 应用程序之一找到它 -> 帮助 -> 关于)

            要解决此问题,请将 nunit.exe.config 文件更改为在配置部分中包含以下内容:

            <startup>
              <requiredRuntime version="4.0.30319" />
            </startup>
            

            【讨论】:

              【解决方案7】:

              尝试将测试更改为 x64。从菜单做

              Test -> Test Settings -> Default Processor Architecture -> x64.

              【讨论】:

                【解决方案8】:

                您只能在 VS studio 社区版中调试 nunit 测试。为此,您需要安装Nunit3testAdpter。您可以在工具 -> 扩展和更新中添加它。或来自 Nuget 包。

                【讨论】:

                  【解决方案9】:

                  请升级 NUnit 测试扩展并关闭 Visual Studio,以便 Visx(可能是拼写)运行并更新 NUnit 工具。 在此之后,您可以打开您的项目并运行 NUnit 测试项目。 它会运行。 我测试准确。

                  【讨论】:

                    【解决方案10】:

                    当您的 PDB 生成设置为 embedded 时,也会发生这种情况。将其切换到 full 将允许 nunit 测试适配器从附加的调试器开始。此时可以切换回embedded,再次调试。

                    该设置位于项目属性页面的“构建”选项卡中,然后单击“高级”按钮。我总是在顶部选择“所有配置”,因此我确保在构建发布配置程序集时也发出有用的 PDB(或嵌入信息)。

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2011-10-12
                      • 1970-01-01
                      • 2013-08-04
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2019-04-02
                      相关资源
                      最近更新 更多