我们的解决方案中有一个ASP.NET
WebAPI
2项目,其中一些控制器具有记录文本文件中发生的所有异常的方法。每个WebAPI
方法都有try...catch
块,并且在记录错误时会涉及一些自定义逻辑,所以我想快速测试所有控制器的所有方法,以检查日志是否以正确的格式生成以防万一发生任何异常。可以通过在我的解决方案中添加测试项目来完成吗?从测试类调用WebAPI
方法时,调用的方法应该抛出并出错并记录它,这可以完成吗?还有其他方法可以测试这种情况吗?
答案 0 :(得分:1)
首先,这种错误记录应该在全局异常处理程序中完成,因此您不必在控制器中反复重复相同的代码。
其次,当涉及到日志记录时,大多数时候你应该只测试记录的消息,而不是消息的格式(日志记录类应该有它自己的单元测试)。
以下是关于如何编写全局处理程序的好读物:https://docs.microsoft.com/en-us/aspnet/web-api/overview/error-handling/web-api-global-error-handling
答案 1 :(得分:0)
只需发布您的WebAPI并创建一个控制台程序,使用您的测试参数集调用api中的所有方法,然后您将获得带有异常的txt文件。 以某种形式自动化您的测试。 使用此链接信息创建单元测试:Unit Tests