当我在谷歌上搜索/阅读这个答案的时候,我想我也应该在这里问一下。
我有一个类,它是SDK的包装器。该类接受一个ILoader对象,并使用ILoader对象创建一个ISBAObject,并将其转换为ISmallBusinessInstance对象。我只是想用Moq来模拟这种行为。
[TestMethod]
public void Test_Customer_GetByID()
{
var mock = new Mock<ILoader>();
var sbainst = new Mock<ISbaObjects>();
mock.Expect(x => x.GetSbaObjects("")).Returns(sbainst);
}编译器错误为:错误1 'Moq.Language.IReturns.Returns(Microsoft.BusinessSolutions.SmallBusinessAccounting.Loader.ISbaObjects)‘的最佳重载方法匹配具有一些无效参数
这里发生什么事情?我期望ISbaObjects的模拟器能够毫无问题地返回。
发布于 2008-10-02 20:24:20
您需要使用sbainst.Object,因为sbinst不是ISbaObjects的实例-它只是模拟部分。
发布于 2008-10-03 22:42:27
更新,正确的代码
[TestMethod]
public void Test_Customer_GetByID()
{
var mock = new Mock<ILoader>();
var sbainst = new Mock<ISbaObjects>();
mock.Expect(x => x.GetSbaObjects("")).Returns(sbainst.Object);
}https://stackoverflow.com/questions/164369
复制相似问题