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

来源:6-5 【操作】接口与单元测试

慕莱坞0998854

2023-01-02

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

写回答

1回答

阿莱克斯刘

2024-09-27

在 C# 中进行单元测试时,使用 Assert.Throws 方法来测试异常抛出是最佳实践。这样可以确保测试代码的可读性和明确性。

使用 Assert.Throws 可以清晰地表明测试的目的是验证异常抛出,使测试代码更具可读性和可维护性。
0
1
牵狗被狗咬
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( () => orderProcessor.Process(order)); //必须运行在实际的赋值之前达到显示报错提示的目的 //orderProcessor.Process(order); }
2026-01-18
共1条回复

C#速成指南--从入门到进阶,实战WPF与Unity3D开发

系统掌握C#核心和应用,获得全行业适配的技能

870 学习 · 200 问题

查看课程