简体   繁体   中英

How To Mock/Stub a Nhibernate QueryOver Call?

How can I stub a call that returns a QueryOver object that contains data?

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

just like Phill said sqlite would be easier. nevertheless this should work

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM