如何使用 nunit 和 moq 进行异常处理?

发布于 2024-08-04 04:43:58 字数 118 浏览 6 评论 0原文

我正在尝试使用 nunits 新的异常处理方式,但我发现很难找到有关它的信息以及如何将它与最小起订量一起使用。

我现在有最小起订量,它在模拟方法上抛出异常,但我不知道如何使用 nunit 来捕获它并查看它。

I am trying to use nunits new way of exception handling but I am finding it hard to find information on it and how to also use it with moq.

I have right now moq that throws a exception on a mocked method but I don't know how to use nunit to catch it and look at it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

GRAY°灰色天空 2024-08-11 04:43:59

有几种不同的方法可以做到这一点;我使用 Assert.Throws。

var exception = Assert.Throws<YourTypeOfException>(()=> Action goes here);

例如,

var exception = Assert
                .Throws<ArgumentNullException>(()=> new ChimpPuncher(null));

如果需要,您可以进一步查询异常对象,例如

Assert.That(exception.Message, Text.Contains("paramname");

There's a few different ways to do it; I use Assert.Throws.

var exception = Assert.Throws<YourTypeOfException>(()=> Action goes here);

e.g.

var exception = Assert
                .Throws<ArgumentNullException>(()=> new ChimpPuncher(null));

You can then query the exception object further if you want, e.g.

Assert.That(exception.Message, Text.Contains("paramname");
墟烟 2024-08-11 04:43:59

最好的提及方式是:测试方法上方的 [ExpectedException(typeof(ApplicationException))]

Best way to mention is: [ExpectedException(typeof(ApplicationException))] above the test method.

阳光的暖冬 2024-08-11 04:43:59

为什么不能将模拟方法调用包含在 try/catch 块中并捕获抛出的特定异常?

Why can't you enclose the mocked method call in a try/catch block and catch the specific exception being thrown?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文