【问题标题】:Test ASP.NET WebAPI methods for exception logging测试异常日志记录的 ASP.NET WebAPI 方法
【发布时间】:2017-11-08 13:18:00
【问题描述】:

我们的解决方案中有一个 ASP.NET WebAPI 2 项目,其中一些控制器具有记录文本文件中发生的所有异常的方法。每个WebAPI 方法都有try...catch 块,并且在记录错误时涉及一些自定义逻辑,所以我想快速测试所有控制器的所有方法,以检查日志是否以正确的格式生成,以防发生任何异常。这可以通过向我的解决方案添加测试项目来完成吗?从测试类调用WebAPI方法时,被调用的方法应该 throw 和 error 并记录下来,这样可以吗?有没有其他方法可以测试这个案例?

【问题讨论】:

  • 有一个单独的方法来调用所有带有“错误”参数的方法,在这种情况下会出现异常。或者是什么问题?

标签: c# asp.net-web-api logging error-logging


【解决方案1】:

首先,这种错误记录实际上应该在全局异常处理程序中完成,这样您就不会在控制器中一遍又一遍地重复相同的代码。

其次,当涉及到日志记录时,大多数时候你真的应该只测试记录的消息,而不是消息的格式(日志记录类应该有它自己的单元测试)。

这是一个关于如何编写全局处理程序的好读物:https://docs.microsoft.com/en-us/aspnet/web-api/overview/error-handling/web-api-global-error-handling

【讨论】:

    【解决方案2】:

    只需发布您的 WebAPI 并创建一个控制台程序,以使用您的一组测试参数调用 api 中的所有方法,您将获得包含异常的 txt 文件。 以某种形式自动化您的测试。 使用此链接信息创建单元测试:Unit Tests

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 2011-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多