为单元测试创​​建EventLogRecord

时间:2014-03-26 17:47:01

标签: c# unit-testing event-log

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

using System.Diagnostics.Eventing.Reader;

...
MyLog ProcessEvent(EventLogRecord eventRecord)

现在,我想为此创建单元测试,EventLogRecord没有公共构造函数。如何在不连接事件记录系统的情况下获取EventLogRecord对象?

1 个答案:

答案 0 :(得分:0)

制作像这种(非虚拟)工作这样的不可测试项目的标准方法是使用包装器。以下是该想法的一些观点:

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

现在你可以传入界面并根据需要进行模拟