0
我正在尝试做一个简单的测试,嘲笑sum方法。.NET MOQ返回不同的结果
我有一个接口:
public interface ISumSomething
{
int Sum(params int[] values);
}
使用该接口的类:
public class CallSum
{
public CallSum(ISumSomething sumSomething)
{
this.SumSomething = sumSomething;
}
private ISumSomething SumSomething { get; set; }
public int Execute(params int[] values)
{
return this.SumSomething.Sum(values);
}
}
,并且测试类:
[TestMethod]
public void Test_Sum_Method()
{
// Creates MOQ.
var instance = new Mock<ISumSomething>();
// Setup de MOQ.
instance.Setup(moq => moq.Sum(It.IsAny(1,2)).Returns(4));
// Instance the object.
var sum = new CallSum(instance.Object);
// Execute the operation.
var result = sum.Execute(2, 2);
// Check the result.
Assert.AreEqual(4, result);
}
的问题是,当我打电话执行方法,它正在退回0
,但在我的最小起订量中,我正在设置4
。为什么会发生?
这是'Returns()'在正确的地方打电话吗? –