gpt4 book ai didi

unit-testing - Moq - 测试 Controller 方法是否抛出异常

转载 作者:行者123 更新时间:2023-12-03 11:11:35 25 4
gpt4 key购买 nike

我有一个 Controller 方法,如果通过 ID 列表的循环没有找到指定的 ID,它会抛出一个自定义异常,否则它会返回一个局部 View 。

我已经完成了测试,看它是否成功返回了局部 View ,但我如何测试该方法是否失败以及是否抛出了自定义异常?

最佳答案

如果您没有捕捉到预期的异常,您可以执行简单的 try/catch 并执行 Assert.Fail。但是,大多数单元测试框架都提供了一种自动测试异常的方法。

Microsoft 的 MSTest 具有可应用于测试方法的 ExpectedException 属性:

[ExpectedException(typeof(ArgumentNullException))]
[TestMethod]
public void DoSomething()
{ ... }

如果上述测试方法没有抛出 ArgumentNullException,MSTest 会将测试标记为失败。

NUnit 具有更细粒度的 Assert.Throws,可让您更具体地控制测试方法中预期出现异常的确切位置。

关于unit-testing - Moq - 测试 Controller 方法是否抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8132989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com