当我进行单元测试时,如下所示,可以告诉我这有什么问题:
类型的例外 'Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException' 发生在Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll中 但未在用户代码中处理
答案 0 :(得分:8)
我在Visual Studio 2012中遇到过这个问题。以下是我修复它的方法:
在弹出的异常中,我旁边有一个复选框 “当用户不处理此类异常时中断。”
我 取消选中 此框。
有时它会让你感到简单。 :)
1年后更新:)
所以这不属于这个特定的问题,但我学到了另一个技巧来隐藏非Microsoft .dll抛出的异常。 (Assert.Failed位于其中一个系统库中,因此OP不需要使用此技巧。)
你可能已经注意到,当未处理时,一些异常会神秘地继续中断,即使你取消选中“抛出此异常类型时的中断”框。
这是有原因的! Visual Studio不知道如何识别该异常类型。
以下是如何教它一个新技巧:
添加例外后,您还可以使用弹出窗口中的“在抛出此异常时中断”复选框。
快乐的编码!
答案 1 :(得分:2)
您使用的是什么版本的MS Test(哪个Visual Studio)?
是否在抛出异常时进行调试?
看起来这里有一篇文章,里面有一些关于为什么会发生这种情况的线索:
答案 2 :(得分:-1)
我遇到了这个问题,我发现link可能有所帮助。
当附加调试器时,单元测试在Silverlight中的工作方式有点奇怪 - 当Assert失败时 你的一个单元测试,Visual Studio调试器打破了 执行并调出调试器对话框。如果你想跑一个 一大堆单元测试,看看哪些是失败的,或者你只是 关心代码抛出的异常,这个功能可以 真的很抽筋你的风格。值得庆幸的是,编辑它很容易 调试器设置使这些断言异常消失。
- 步骤1:转到Visual Studio 2010中的“调试”菜单,选择“例外...”
- 步骤2:在“例外”对话框中,单击“添加...”
- 步骤3:注册要调整的异常类型从“类型”菜单中,选择“公共语言运行时异常”。在名字里 文本框,类型 Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException。 单击“确定”。
- 步骤#4:对Microsoft.VisualStudio.TestTools.UnitTesting.AssertInconclusiveException重复步骤#2和#3
- 步骤5:取消选中您刚刚添加的例外的投掷和用户未处理。
- 步骤6:在“例外”对话框中,单击“确定”
- 第7步:享受新的简化例外。
然而在我的情况下,我有它,因为使用属于单元测试库的断言与使用nunit之间的冲突。 当我删除该冲突时,我的测试按预期工作。