NSubstitute完全手册(十三)抛出异常

当一个成员被调用时,也可使用回调来抛出异常

复制代码
 1     public interface ICalculator
 2     {
 3       int Add(int a, int b);
 4       string Mode { get; set; }
 5     }
 6 
 7     [TestMethod]
 8     [ExpectedException(typeof(Exception))]
 9     public void Test_ThrowingExceptions_ForVoid()
10     {
11       var calculator = Substitute.For<ICalculator>();
12 
13       // 对无返回值函数
14       calculator.Add(-1, -1).Returns(x => { throw new Exception(); });
15 
16       // 抛出异常
17       calculator.Add(-1, -1);
18     }
19 
20     [TestMethod]
21     [ExpectedException(typeof(Exception))]
22     public void Test_ThrowingExceptions_ForNonVoidAndVoid()
23     {
24       var calculator = Substitute.For<ICalculator>();
25 
26       // 对有返回值或无返回值函数
27       calculator
28         .When(x => x.Add(-2, -2))
29         .Do(x => { throw new Exception(); });
30 
31       // 抛出异常
32       calculator.Add(-2, -2);
33     }
复制代码

NSubstitute 完全手册

posted @   sangmado  阅读(1598)  评论(1编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示