【问题标题】:How to debug with vs.net 2008 and nunit?如何使用 vs.net 2008 和 nunit 进行调试?
【发布时间】:2012-02-08 22:16:45
【问题描述】:

我正在使用 nunit runner 运行 vs.net 2008。

如果我在单元测试代码中设置断点,它只会在运行器中运行单元测试。

我猜我必须以某种方式将 nunit 与 vs.net 集成?

我的单元测试只是一个类库项目,我无法在 vs.net 2008 中运行测试,目前只能通过运行器进行。

【问题讨论】:

标签: c# visual-studio nunit


【解决方案1】:

如果您想在当前设置中进行调试(运行已加载程序集的 nunit 运行程序),请执行以下操作:

  1. 运行 nunit.exe
  2. 打开(或创建)您的 nunit 项目(文件 > 新建/打开项目
  3. 在工具 > 设置下,单击 IDE 支持 > Visual Studio 并选中“启用 Visual Studio 支持”
  4. 设置好 nunit 文件并准备好运行后,转到 VS 并单击工具 > 附加到进程...
  5. 验证是否在“附加到”区域中选择了“托管代码”
  6. 找到 unit.exe,选择它,然后单击附加
  7. 在库中放置所需的断点
  8. 在 nunit GUI 中,单击运行
  9. 如果您正在调试正确的程序集,它应该会到达您的断点。

理想情况下,我会将其更改为将 nunit 作为外部程序运行,并提供您的 .nunit 项目文件作为输入。详情请见here。

【讨论】:

    【解决方案2】:

    我正在运行 vs.net 2008 与 nunit runner。

    如果我在单元测试代码中设置断点,它只会在运行器中运行单元测试。

    (强调我的)

    您刚刚回答了自己的问题。当您一开始不通过 Visual Studio 运行代码时,为什么会期望 Visual Studio 断点神奇地将您推入 Visual Studio?

    我建议重构您的测试,以便可以通过 Visual Studio 运行尽可能多的测试(有关 Visual Studio 的 NUnit 支持的详细信息,请参阅 http://www.nunit.org/index.php?p=vsSupport&r=2.2.10),然后仅在控制台上运行剩余的测试。

    【讨论】:

    • 此外,ReSharper 有一个很棒的测试运行器,可以与 VS 集成。
    • @cyphr,Resharper 不是免费的,而 NUnit 是。
    【解决方案3】:

    要使用 VS 2008 进行调试单元测试,请执行以下操作:

    1) 在 NUnit 运行器中创建项目,并将带有单元测试的 dll 添加到其中。
    2) 在您的单元测试项目中设置“启动外部程序” - NUnit exe 文件。
    3) 调试时将单元测试项目设置为“启动 项目”或您在 VS2008 中拥有的任何内容。
    4) 运行

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-22
      • 1970-01-01
      • 1970-01-01
      • 2010-11-28
      • 2018-08-23
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多