如何在模拟的容器对象中传递模拟对象

时间:2012-09-24 12:23:28

标签: c# tdd moq

我的方法期待一个FloFilesList,它是一个存储FloFile对象列表的类(一个描述并对某些类型的文件执行操作的类)

我正在调用的方法根据FloFile.FileName的值返回1 FloFile。

我想使用接口IFloFile来初始化模拟对象,而不是将FloFile.FileName设置为Virtual,因为我被告知接口是可行的方法。

 var mockFloFileOne = new Mock<IFloFile>();
        mockFloFileOne.SetupGet(f => f.FileName).Returns("FileName.xml");

如何将模拟FloFile添加到模拟FloFilesList中? 我试过这个。

var mockFloFileList = new Mock<FloFilesList>();
mockFloFileList.Object.Add(mockFloFileOne.Object);

这不起作用,因为我收到错误“... IFloFile不能分配给FloFile”

如何模拟FloFilesList?

1 个答案:

答案 0 :(得分:3)

您需要将Object上的FloFilesList属性类型从List<FloFile>更改为List<IFloFile>