2

我有VS 2010中的ASP.NET MVC 2 Web应用程序,并决定尝试使用MS单元测试的东西。你知道什么,在我创建它的第一个测试中,让我感到悲伤并拒绝详细说明。VS 2010中的MS单元测试,测试方法[我的方法]抛出一个异常:...,WT *?

我创建了一个测试类和一个测试方法。我使用Moq创建一个HttpContext(包括Request,Response,Session,QueryString,Form和Cookies)。该方法正在测试我的某个控制器上的某个操作,并且在使用MVC模型绑定功能时该操作发生异常。 但是这不是问题。

当我在VS中运行测试它只是说:“测试方法[myTestMethodNameHere]抛出异常:...”!所以它并没有给我任何想法,它说的例外是什么......最后,就像电视上的悬崖 - “...在VS 2011中发现,即将推出”8(。

调试该测试没有帮助,因为它发生在我调用的UpdateModel(T)行上。我使用自己的自定义绑定器类,但它没有到达第一行代码中的断点,所以异常必须发生在MVC框架

我想这是一个冗长的方式询问是否有一些配置或代码需要写入以获得MS单元测试框架,以显示我在测试结果中的异常窗口,是我还是听起来像其他人有的MS问题?

任何帮助非常感谢, 彼得

回答

3

右键单击测试结果窗格中的失败的测试,然后单击查看测试结果详细信息。您将得到一个指定异常,其消息和堆栈跟踪的文档。

由于您使用的起订量,我猜的类型将是MoqVerificationException - MSTest的遗憾的是不把它捡起来以同样的方式它拿起AssertFailedExceptions,所以no nice error messages有...

+0

LOL - 这是它。它显示了确切的异常(空引用)。 我写了一个NUnit测试,发现这个异常之前,看到这个,哈。嗯VS 2010显示方法的问题是不是很好。在结果窗格中双击可以进入一行代码,而不是查看失败的细节。 – Peter 2010-07-21 13:47:31

+0

如果您使用NUnit进行测试,我真的推荐使用另一个测试运行器而不是MSTest。终于搞清楚如何使用TestDriven.Net(猜测他们的网站?)runner集成到visual studio中(这真的很简单 - 我在这里是个傻瓜......)我决定只是在昨天才把我的测试迁移到NUnit和改用它。你也可以从MSTest中获得很好的错误信息,用于其他类型的AssertFailedException负载 - 其中包括NUnit AssertionException。 – 2010-07-21 14:24:01

+0

我试图在发布错误时使用MSTests。但我添加了一个NUnit测试,然后单独启动了NUnit GUI应用程序,并在我的Tests.DLL上运行它以获取异常。 我在创建项目时看到我可以选择另一个测试框架,但我的目标是尝试使用默认MSTests。但是现在我找不到使用NUnit的地方。虽然我现在有了“doh!”时刻指出我们的第一反应,这不是一个更好的了解问题。 – Peter 2010-07-22 07:32:49