我正在重新写这个问题,以便更清楚地说明我需要做什么。我正在尝试使用Rhino Mock来测试:
public IQueryable<TxRxMode> GetAllModes()
{
return m_context.TxRxModes.Where(txRxMode => txRxMode.Active);
}
代码如下:
var context = MockRepository.GenerateStub<IProjectContext>();
//Returns an empty list
context.Expect(c => c.TxRxModes.Where(Arg<Func<TxRxMode, bool>>.Is.Anything)).Return(new List<TxRxMode>().AsQueryable());
TxRxModes
在一个
IObjectSet
IQueryable<TxRxMode
&燃气轮机;当
return m_context.TxRxModes.Where(txRxMode => txRxMode.Active);
代码被调用。
值不能为null。
参数名称:谓词
我尝试过更简单的方法:
IObjectSet<TxRxMode> modes = MockRepository.GenerateStub<IObjectSet<TxRxMode>>();
context.Expect(c => c.TxRxModes).Return(modes);
但是当我调用
return m_context.TxRxModes.Where(txRxMode => txRxMode.Active);
基本上,这是我试图模拟的方法的一部分,所以关键问题是如何模拟Where语句?