c# . net单元测试——如何停止执行Catch

本文关键字:执行 Catch 何停止 单元测试 net | 更新日期: 2023-09-27 18:16:13

我已经构建了一个控制台行应用程序,用于导入CSV数据,根据一组约束进行验证,然后在通过所有验证后将其添加到数据库中。因此,我为常见的类开发了一些类,例如:-

  • 测试数据不太长
  • 测试数据匹配RegEx
  • 测试数据存在

这些都有自己的try-catch块,在try-catch块中,我将其设置为使用Exception将电子邮件发送到通用收件箱。这是它上线时的需求,所以我们知道是否有什么失败了。

我已经编写了单元测试来调用这些函数,并且故意调用这些函数,以查看应用程序的执行情况和这些测试的结果。当然,当它崩溃时,它会触发异常,然后给我发这封邮件。这破坏了我的测试,每次测试从1毫秒缩短到10-15秒,每次测试都收到这种垃圾邮件。然而,我们需要在项目运行时保留这些测试。

是否有办法指定测试不发送电子邮件或将#debug命令在这里工作?

谢谢,迈克。

c# . net单元测试——如何停止执行Catch

正确的答案是将您的电子邮件发送抽象到可以通过构造函数注入到类中的接口中。然后,您可以使用Moq之类的框架模拟该接口进行单元测试,从而验证对IEmailer的调用。