如何存根返回包含数据的QueryOver对象的调用?
public interface IData
{
IQueryable<Customer> CustomersAsQueryable { get; }
IQueryOver<Customer> CustomersAsQueryOver { get; }
}
[Fact]
public void QueryOver_spike()
{
var customers = new List<Customer>
{
new Customer {Name = "this"},
new Customer {Name = "is"},
new Customer {Name = "fubar"}
};
var data = MockRepository.GenerateMock<IData>();
//this works
data.Stub(x => x.CustomersAsQueryable).Return(customers.AsQueryable());
//how can i stub this?
data.Stub(x => x.CustomersAsQueryOver).Return(?????????);
}
答案 0 :(得分:4)
var queryover = MockRepository.GenerateMock<IQueryOver<Customer>>();
queryover.Stub(...).Return(...);
data.Stub(x => x.CustomersAsQueryOver).Return(queryover);