【发布时间】:2020-02-20 18:25:23
【问题描述】:
我有一个我试图模拟的 SqlLayer 类,它有一个 GetDataReader 方法,它接受一个字符串查询和一个 IEnumerable 的 SqlParameters。我试过像这样删除方法调用:
var parameters = new SqlParameter[] {}
mockSqlLayer.Stub(x => x.GetDataReader(spaceConsumedQuery, parameters)).Return(MockDataReader());
但测试返回 NullReferenceException,我认为是因为签名没有正确解析,并且找不到存根。 我尝试调用的方法签名如下所示:
public IDataReader GetDataReader(string commandText, IEnumerable<SqlParameter> parameters)
【问题讨论】:
-
用
var parameters = Enumerable.Empty<SqlParameter>()试试看是否还有错误 -
在同一个地方仍然出现同样的错误。
-
在这种情况下,类型不是你的问题。
-
被the canonical NRE answer 欺骗而关闭,但不确定是否重新打开。
标签: c# unit-testing rhino-mocks