0
我正在爲我的類AttachmentProcessor編寫單元測試。 我的目標是測試所有方法和模擬例如IList FileList。Mocking System.Collections.Generic.IList Moq
public class AttachmentsProcessor
{
public IList<IFileInfo> FileList { get; set; }
public AttachmentsProcessor(IList<IFileInfo> FileList)
{
...
}
public void RemoveAttachment(int index)
{
...
}
public long GetTotalFilesSize()
{
...
}
public void GetFilesFromDialog(IOpenFileDialog2 openFileDialog1)
{
...
}
}
接口:
public interface IFileProcessor
{
IList<IFileInfo> FileList { get; set; }
void RemoveAttachment(int index);
long GetTotalFilesSize();
void GetFilesFromDialog(IOpenFileDialog2 openFileDialog1);
}
爲什麼你在第一個單元測試?你只是爲易用方法包裝了一個列表,你甚至不需要這個方法。其次,AttachmentsInfo可能是一個IFileInfo,但反之亦然,所以如果你想按照它的方式行事,那麼你的初始調用必須是附件處理器但如果你打算這樣做,你應該使用更適合於處理協方差和逆變的結構 –
快速問題 - 使用'AttachmentProcessor'而不是簡單的'List'有什麼好處? –
@SergeyBerezovskiy我有像 GetSizeOfAllAttachments,GetFilesFromDialog或GetFilesFromDragandDrop Event等方法 – Ngine