从moqed存储库方法返回一个元组

本文关键字:一个 元组 返回 moqed 存储 方法 | 更新日期: 2023-09-27 18:06:32

是否有可能从moqed方法返回一个元组?

,

mock.Setup(m => m.MethodName(It.IsAny<int>()))
    .Returns(a => new Tuple<int,int>(a.Item1, a.Item2));

从moqed存储库方法返回一个元组

无法编译。在你的Returns回调中,你只会得到一个int形参。

mock.Setup(item => item.MethodName(It.IsAny<int>()))
    .Returns((int i) => new Tuple<int, int>(i, i));

您可以简单地返回具有所需值的元组(例如1和5):

mock.Setup(m => m.MethodName(It.IsAny<int>())).Returns(new Tuple<int, int>(1, 5));

或者使用lambda:

mock.Setup(m => m.MethodName(It.IsAny<int>())).Returns(() => new Tuple<int, int>(1, 5));

假设正在"moq'd"的方法返回一个元组,那么我不明白为什么不…请记住,有时必须显式设置返回值。

试题:

mock.Setup(m => m.MethodName(It.IsAny<int>())).Returns<Tuple<int,int>>(a => new Tuple<int,int>(a.Item1, a.Item2));

如果这不起作用,那么提供一个错误消息可能会有帮助