调用安装程序时出现 NullRefernceException

NullRefernceException when calling Setup

我试图在模拟对象上做一个简单的 Setup,但我总是从设置行得到一个 NullRefernceException

我在这里做错了什么?

您的设置不正确,因为您将起订量与 It.IsAny<string>().ToString() 中的 .ToString() 混淆了。

因此 Moq 无法生成正确的匹配器并抛出异常。

解决这个问题很容易,只需删除 .ToString():

[Test]
public void Test()
{
    mockDatabase = new Mock<IDatabase>();
    DataSet ds = new DataSet();
    mockDatabase.Setup(m => m.DbQuery(It.IsAny<string>())).Returns(ds);
    var sut = new BusinessClass(mockDatabase.Object);
    sut.SomeMethod();
}