在Moq中一次设置多个方法调用?

问题描述 投票:0回答:1

在Moq中,我有一个类,实现了各种类似的方法,我希望所有的方法的mock行为都是一样的。 所以举个例子。

var myMock = new Mock<SomeClass>();
myMock.Setup(x => x.Foo()).Returns("Xfi444-APIQUERY-A898");
myMock.Setup(x => x.Foo(It.IsAny<string>())).Returns("Xfi444-APIQUERY-A898");
myMock.Setup(x => x.Bar()).Returns("Xfi444-APIQUERY-A898");
myMock.Setup(x => x.Bar(It.IsAny<string>())).Returns("Xfi444-APIQUERY-A898");

由于每个方法的模拟行为都是相同的, 有什么办法可以让我用一个方法一次设置所有的方法 -- 例如用一个Setup调用来设置多个方法签名 -- 或者我被迫使用这些类似的多行代码?

c# moq
1个回答
0
投票

如果我没有理解错的话,你只是想为所有返回字符串的东西做一次设置。Xfi444-APIQUERY-A898

你可以设置一个默认的

myMock.SetReturnsDefault("Xfi444-APIQUERY-A898");

这意味着在 myMock 返回一个字符串,将返回 Xfi444-APIQUERY-A898

© www.soinside.com 2019 - 2024. All rights reserved.