TestMethod Visual Studio 2010上的ExpectedException

Joo*_*oop 20 unit-testing visual-studio-2010 c#-4.0

今天我用VS2008到VS2010的所有底层项目升级了我的解决方案.除了我的单元测试外,一切顺利.

首先,只有Web项目具有.NET 4的目标框架.所有其他项目仍然具有.NET 3.5.我将它们全部更改为.NET 4.

现在,当我调试我的单元测试时,它会在每个异常时中断.在2008年它只是不会通过并告诉我发生了异常.即使我定义了ExpectedException属性,它也会停止对每个异常进行调试.

我的一个测试的例子:

[TestMethod]
[ExpectedException(typeof(EntityDoesNotExistException))]
public void ConstructorTest()
{
    AddressType type = new AddressType(int.MaxValue);
}
Run Code Online (Sandbox Code Playgroud)

EntityDoesNotExistException是一个自定义异常并继承Exception.

编辑 我在2008年和2010年查看了例外设置(ctrl + alt + e).在两个版本中,设置都是相同的.但是在2008年,当我有ExpectedException属性时,调试不会中断.在2010年,它确实打破了.

Dab*_*rnl 12

格里指出我正确的方向:

  • 按Ctrl-Alt-E
  • 打开公共语言运行时例外节点
  • 单击添加
  • 键入Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException
  • 确保未选中这两个复选框.

这将消除失败的Asserts的中断,但是当您设置ExpectedException时,测试仍会中断.

我是为此设置100奖金的人,因此一些赞成票将受到赞赏;-)