在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调用来设置多个方法签名 -- 或者我被迫使用这些类似的多行代码?
如果我没有理解错的话,你只是想为所有返回字符串的东西做一次设置。Xfi444-APIQUERY-A898
你可以设置一个默认的
myMock.SetReturnsDefault("Xfi444-APIQUERY-A898");
这意味着在 myMock
返回一个字符串,将返回 Xfi444-APIQUERY-A898