如何使用vs.net 2008和nunit进行调试?

时间:2012-02-08 22:16:46

标签: c# visual-studio nunit

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

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

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

我的单元测试只是一个类库项目,我无法在vs.net 2008中运行测试,我只能通过当前的跑步者来完成。

3 个答案:

答案 0 :(得分:3)

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

  1. 运行nunit.exe
  2. 打开(或创建)您的nunit项目(文件>新建/打开项目
  3. 在工具>下设置,单击IDE支持> Visual Studio并选中“启用Visual Studio支持”
  4. 设置nunit文件并准备好运行后,转到VS并单击工具>附加到处理......
  5. 确认在“附加到”区域中选择了“托管代码”
  6. 找到unit.exe,选择它,然后单击“附加”
  7. 在库中放置所需的断点
  8. 在nunit GUI中,单击“运行”
  9. 如果您正在调试正确的程序集,它应该会破坏您的断点。
  10. 理想情况下,我会将其更改为将nunit作为外部程序运行并提供.nunit项目文件作为输入。有关详细信息,请参阅here

答案 1 :(得分:1)

  

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

     

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

(强调我的)

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

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

答案 2 :(得分:1)

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

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