为单元测试创建EventLogRecord

本文关键字:EventLogRecord 创建 单元测试 | 更新日期: 2023-09-27 17:53:34

我实现了一个API来处理EventLogRecord对象。

using System.Diagnostics.Eventing.Reader;
...
MyLog ProcessEvent(EventLogRecord eventRecord)

现在,我想为此创建单元测试,EventLogRecord没有公共构造函数。我如何得到一个EventLogRecord对象没有连接到事件日志系统?

为单元测试创建EventLogRecord

使这样的不可测试项(非虚拟)工作的标准方法是使用包装器。下面是这个想法的一些伪代码:

WrapperEventLogRecord : IEventLogRecordWrapper
{
    ctor(EventLogRecord eventLogRecord)
    public ActivityId {get{return _eventLogRecord.ActivityId;}}
}

现在您可以传入接口并根据需要模拟它