Visual studio 在VS2008中调试单元测试用例

Visual studio 在VS2008中调试单元测试用例,visual-studio,unit-testing,breakpoints,Visual Studio,Unit Testing,Breakpoints,我试图在VisualStudio2008中调试一些单元测试,并注意到断点似乎并没有停止执行 我认为这就像设置一个断点,然后在当前上下文中进行“测试|调试|测试”一样简单。。。但这实际上从未达到我设置的断点 是我做错了什么,还是这个坏了 谢谢, 布兰登检查以下各项: 测试是否标有[TestClass]和[TestMethod] 您正在运行调试或发布模式生成吗?(除了当它做的时候)调试更好 您是使用优化还是不使用优化进行编译?没有更好 如果遇到断点,请尝试在解决方案中运行所有测试 最后,也许你有b

我试图在VisualStudio2008中调试一些单元测试,并注意到断点似乎并没有停止执行

我认为这就像设置一个断点,然后在当前上下文中进行“测试|调试|测试”一样简单。。。但这实际上从未达到我设置的断点

是我做错了什么,还是这个坏了

谢谢, 布兰登检查以下各项:

  • 测试是否标有
    [TestClass]
    [TestMethod]
  • 您正在运行调试或发布模式生成吗?(除了当它做的时候)调试更好
  • 您是使用优化还是不使用优化进行编译?没有更好
  • 如果遇到断点,请尝试在解决方案中运行所有测试
  • 最后,也许你有bug,这就是为什么你没有点击代码

我也遇到了同样的问题,直到我先手动连接到aspnet_wp.exe进程,然后单击调试测试按钮。然后,我的断点终于被命中。

如果使用nUnit,则必须执行以下操作

使用要测试的DLL启动Nunit。 然后在VisualStudio中转到 工具->附加到流程

选择nunit进程并单击“附加”,然后它将在所有断点中停止

玩得开心:-)

在VS2010、VS2008和VS2005中,Microsoft for MSTEST的官方功能是将
System.Diagnostics.Debugger.Break()
添加到要开始调试的单元测试中。这适用于单元测试项目引用了调试符号的所有项目


NET运行时将提示您转储到调试模式(或关闭正在执行的单元测试程序,或忽略调试行),并且(有时)允许您使用启动单元测试的visual studio实例来执行此操作。您始终可以从新的VS实例进行调试。一旦点击该
System.Diagnostics.Debugger.Break()

[TestClass]
public class ContactListTest
{
    #region "Constants"
    public const string COVERAGE = "CoverageService";

    public const string CompanyList = "CompanyList";
    public const string ContactList = "ContactList";
    #endregion

    [TestMethod]
    public void GetContactListTest()
    {
        System.Diagnostics.Debugger.Break();

        var ex = new ServiceFilterExpression(COVERAGE);
        ex.Expression = new OpBeginsWith("Type", ContactList);
        var result = ex.FetchData();

   } 
}

这是microsoft测试框架还是您使用的是liek NUnit?我通常只运行所有测试,然后加载程序集并启用断点。当我尝试连接程序集时,可能由于某种原因无法加载程序集(假设此处为MS framework),因为aspnet_wp.exe未显示。知道为什么吗?