我有一个实现ISMTPOnArrival的类a1。
在我的公开方法中
OnCreate
我正在为这个事件接收器写一个Nunit测试。在我的单元测试方法中,我有一个私有方法,它将拾取和eml文件,并返回一个CDO.Message,并将此对象传递给onArrival。
public void OnArrival(Message Msg, ref CdoEventStatus EventStatus)
{
string strFixedList = Msg.EnvelopeFields["http://schemas.microsoft.com/cdo/smtpenvelope/recipientlist"].Value.ToString();
}
当我调用公共方法时
private CDO.Message ReadMessage(String emlFileName)
{
CDO.Message msg = new CDO.MessageClass();
ADODB.Stream stream = new ADODB.StreamClass();
...
msg.DataSource.OpenObject(stream, "_Stream");
msg.DataSource.Save();
return msg;
}
b.OnArrival(msg,ref cdoevent);
" Msg.EnvelopeFields [" http://schemas.microsoft.com/cdo/smtpenvelope/recipientlist"]"中会抛出异常。有人可以告诉我这是什么问题吗?
例外是"受支持的请求的属性或功能目前不可用或在此上下文中不可用"。
答案 0 :(得分:0)
有一个解决方案,并设置了一个标志,如果它是一个单元测试,那么我会硬编码一个信封字段。
这很有用。