我有这样的界面:
Interface IWriteFile {
string FileName {get;set;}
void Open();
void WriteData(string dataToWrite);
void Close();
}
我想测试一个将使用此接口填充文件的类。它会多次调用WriteData,我只想测试最终输出。有没有办法向Mock对象引入一个新的私有字段,每次调用WriteData(Data)时都会附加它?
我真的只想看看文件在一天结束时会是什么样子。有更好的方法吗?
答案 0 :(得分:8)
那么,你需要对它的被调用次数进行某种计数吗?
int count = 0;
List<string> items = new List<string>();
var mock = new Mock<IWriteFile>();
mock.Setup(m => m.WriteData(It.IsAny<string>()))
.Callback((string data) => { items.Add(data); count++; });