c# - 如何模拟/ stub Nhibernate QueryOver 调用?

标签 c# nhibernate mocking rhino-mocks

如何对返回包含数据的 QueryOver 对象的调用进行 stub ?

        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(?????????);
        }

最佳答案

就像 Phill 说的 sqlite 会更容易。尽管如此,这应该可行

var queryover = MockRepository.GenerateMock<IQueryOver<Customer>>();
queryover.Stub(...).Return(...);

data.Stub(x => x.CustomersAsQueryOver).Return(queryover);

关于c# - 如何模拟/ stub Nhibernate QueryOver 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6783874/

相关文章:

java - 模拟 session 值

java - 如何模拟对象构造?

c# - 如何将部分预缓存的MemoryStream与FileStream结合起来?

java - 如何在 Mockito 中模拟 instanceof

c# - Microsoft.Expression.Controls 标注指向控件的 anchor

c# - ISession 在 Azure 辅助角色中应该具有什么生活方式?

c# - 如何使用 nHibernate 存储 128 位整数?

nhibernate - 学习 nhibernate(流利或不流利)

c# - 如何在 C# 中使用反射创建新对象?

c# - 在 C# Timer 中完成一小时后准确触发滴答事件