我正在用 vs2010 编写一个自动化(测试项目)。我已经有一个带有相关 Info(string)、Debug(string) 和 Error(string, Exception) 方法的 Logger 类,它实现了将消息正确写入文件。
现在,我知道我的信息日志必须专门写在我的测试代码中,但是无论如何都会自动编写错误消息作为抛出异常的实现?异常是设计的一部分(我需要抛出它们以确定每个测试的通过/失败状态)。
我可以将所有代码包装在 try-catch 中的基本实现,在 catch 块中写入 Logger.error(),然后再次抛出异常,如下所示:
public class Test
{
["TestMethod"]
public void RunTest()
{
try
{
//run my code here
}
catch (Exception ex)
{
Logger.Error("Error message", ex);
throw;
}
}
}
但是我不确定使用 try-catch 来记录错误是一个正确的设计。
我想到了两件事:
- 创建一个侦听器线程,它将捕获我的异常,记录它们并重新抛出它们......
- 操作 Exception 类以使用 mt Log.Error() (或从中派生 MyException 并操作我的代码以仅抛出 MyException)。
- 我已经尝试安装 Enterprise-Library 并使用日志记录块,但我不确定这是否适合我的需要(而且我无法获取 LogWriter 的实例或使用 Logger.Write 无论如何) .
我走对了吗?还有其他方法可以实现这种“自动写入错误”吗?
谢谢, 埃拉德