请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师说的代码根本就执行不到异常

老师你好,在视频中,讲到测试抛出异常部分的时候,你说到,“对于异常的检查,我们不能使用之前的Assert方法,因为代码根本就执行不到异常”,对于这句话我不太理解。。。。

正在回答 回答被采纳积分+3

1回答

阿莱克斯刘 2024-09-27 15:15:51
在 C# 中进行单元测试时,使用 Assert.Throws 方法来测试异常抛出是最佳实践。这样可以确保测试代码的可读性和明确性。

使用 Assert.Throws 可以清晰地表明测试的目的是验证异常抛出,使测试代码更具可读性和可维护性。
0 回复 有任何疑惑可以回复我~
  • ExpectedException 无法适配和识别,也解决不了,只能自行尝试更换为Assert.Throws 进行测试。
     [TestMethod]
     // [ExpectedException(typeof(InvalidOperationException))] 有报错,用Assert.Throws 替换
     public void Process_OrderIsShipped_ThrowException()
     {
         OrderProcessor orderProcessor = new OrderProcessor(new FakeShippingCalculator());
    
    
         Order order = new Order
         {
             Id = 123,
             DatePlaced = DateTime.Now,
             TotalPrice = 100f,
             IsShipped = true
         };
    
         //下面这一段替换ExpectedException
         var exception = Assert.Throws<InvalidOperationException>(
         () => orderProcessor.Process(order));
         //必须运行在实际的赋值之前达到显示报错提示的目的
         //orderProcessor.Process(order);
     }
    回复 有任何疑惑可以回复我~ 2026-01-18 23:05:03
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号