是否可以从moqed方法返回元组?
例如:
mock.Setup(m => m.MethodName(It.IsAny<int>()))
.Returns(a => new Tuple<int,int>(a.Item1, a.Item2));
答案 0 :(得分:1)
您只需返回具有所需值的元组(例如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));
答案 1 :(得分:0)
假设该方法正在&#34; moq&#39; d&#34;返回一个元组,然后我不知道为什么不...请记住,有时您必须明确设置返回值。
尝试:
mock.Setup(m => m.MethodName(It.IsAny<int>())).Returns<Tuple<int,int>>(a => new Tuple<int,int>(a.Item1, a.Item2));
如果这不起作用,那么提供错误消息可能有帮助
答案 2 :(得分:0)
那不会编译。您只能在Return回调中获得一个int参数。
mock.Setup(item => item.MethodName(It.IsAny<int>()))
.Returns((int i) => new Tuple<int, int>(i, i));