【发布时间】:2013-11-28 12:11:27
【问题描述】:
我想模拟 Microsoft.Office.Interop.Excel.Range 以及之后能够获取属性 Row(范围第一行的索引)。最小起订量 v 4.1.1309.1617 / nunit.framework v 2.6.3.13283 在我的单元测试中,我尝试将模拟的行为设置如下:
var moqRowSelected = new Mock<Range>();
const int row = 1;
moqRowSelected.SetupGet(x => x.Row).Returns(row);
moqSheetBase.SetupProperty(x => x.RowSelected, moqRowSelected.Object);
在被单元测试的代码中,我使用 Range 如下:
var iRow = PlanningSheet.RowSelected.Row;
Range row = sheet.Rows[iRow];
测试运行时,会产生以下异常:
错误:缺少方法'instance int32 [My.Example.Implementation.MyClass] Microsoft.Office.Interop.Excel.Range::get_Row()' 来自类 'Castle.Proxies.RangeProxy'。
我怎样才能成功地实现这个模拟?谁能帮帮我,谢谢。
【问题讨论】:
标签: c# excel unit-testing nunit moq