【发布时间】:2021-02-07 10:59:50
【问题描述】:
我有一个方法用流调用另一个方法。我想测试一下,第一种方法中插入的数据是第二种方法中发送的数据。
public MyMessage Parse(byte[] data)
{
return myDependency.Read(new MemoryStream(data))
}
在我的测试中,我有类似以下的内容
byte [] mockData = { 116, 101, 115, 116};
sut.Parse(mockData);
mockDependency.Verify(x=>x.Read(...));
现在我的问题是,我应该用什么来代替 ...?
我可以执行(It.IsAny<MemoryStream>()) 之类的操作,但这实际上并不能验证它是使用给定数据调用的。
我尝试了It.Is<MemoryStream>(s=>s.Equals(new MemoryStream(data))) 之类的方法,但失败了。
我有没有办法测试发送到Parse 的数据是否与内存流中发送到Read 的数据相同?
【问题讨论】:
标签: c# unit-testing moq xunit memorystream