如何用moq模拟System.Net.Mail.Attachment?

时间:2013-10-28 09:27:11

标签: c# unit-testing moq

我想为以下codesnippet写一个单元测试:

var attachment = new Attachment(path)
{
   ContentId = Path.GetFileName(path)
};

return attachment;

不幸的是,如果我在单元测试代码中使用假路径调用ctor,则Attachment ctor会抛出FileNotFoundException。

如何模拟此代码,我可以验证ContentId属性是否设置正确?我不想测试框架代码。

1 个答案:

答案 0 :(得分:1)

您不必为此使用Moq,只需使用Attachment类的this构造函数,提供从测试项目的资源获得的流以及匹配的ContentType。例如,您可以向资源添加一些文本文件,并指定PlainText MIME类型。