繁体   English   中英

在moq中测试多次调用的方法

[英]Testing a method called many times in moq

我有这样的界面:

Interface IWriteFile {
  string FileName {get;set;}
  void Open();
  void WriteData(string dataToWrite);
  void Close();
}

我想测试一个将使用此接口填充文件的类。 它会多次调用WriteData,我只想测试最终输出。 有没有办法向Mock对象引入一个新的私有字段,每次调用WriteData(Data)时都会附加该字段?

我真的只想看看文件在一天结束时会是什么样子。 有更好的方法吗?

那么,你需要对它被调用的次数进行某种计数吗?

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++; });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM