我想知道是否可以自动模拟 最小起订量中的容器,无需向最小起订量库添加任何内容。 我在寻找一种干净的方法来自动模拟 IList 时遇到问题。
提前致谢!
最佳答案
问题的答案:否。
你真的需要模拟 IList 吗?
模拟通常用于:
- 测试行为(通过预期)而不是结果。
- 抽象掉复杂或重度的依赖关系。
- 通过轻松返回所需值来简化您的测试代码。
- 只测试你的被测类。
例如,您可以模拟一个访问数据库的存储库。通常,您的测试不会模拟列表,而是让模拟对象返回一个列表,其中包含测试所需的数据。
即:
var aList = new List<int>() { 1, 2, 3, 4, 5 };
var mockService = new Mock<IMyService>();
mockService.Setup(mock => mock.GetFooList()).Returns(aList);
如果您指定为什么需要模拟容器,这可能有助于澄清您的问题。
关于c# - 如何在没有扩展/贡献的情况下自动模拟最小起订量中的容器(例如 IList),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8614234/