将MVCContrib.TestHelpers与MsTest一起使用 - 有没有办法获得更好的失败消息?

时间:2010-07-16 21:57:59

标签: visual-studio-2010 nunit mstest mvccontrib-testhelper

我刚刚开始使用MVCContrib,我真的很喜欢它添加到各种测试中的语法糖。例如,我刚写了这个断言:

"~/".Route().ShouldMapTo<SpotController>(c => c.List());

太棒了!好吧,差不多......

而不是像我想的那样,看到测试失败的实际原因(我在MVC应用程序中没有改变任何内容,因此应该路由到HomeController.Index())我得到关于异常的通用消息在测试执行期间被抛出。这是我在调试时发现的,因为MVCContrib中的测试扩展方法正确(?)会抛出AssertionException

我认为这是NUnit类型的失败异常,而MsTest版本是AssertFailedException。由于NUnit版本(显然)不继承MsTest版本,VS中的测试运行器不会捕获异常并给我一个很好的消息。

有没有办法让MsTest以与AssertFailedExceptions类似的方式处理AssertionExceptions,而不必重写一半MVCContrib.TestHelpers?

我确实在本地工作副本中有源代码,所以我可以进入并重新编写那里的测试方法而不是抛出MsTest异常,但它似乎极端矫枉过正......

更新
这个问题也出现在大多数模拟框架中,所以现在我不仅希望使用来自NUnit的AssertionException,还要使用来自Moq的VerificationException,以及可能还有其他人...这只是不可能?

0 个答案:

没有答案