Mocking Linq - Preview
We are working on our .NET 3.5 Support. There are many new feature that have been added, we will take a look at how to mock a linq statement
For the following code in our application
Northwind db = new Northwind(connStr) ; var query = from c in db.Customers where c.City == “Sarasota“ select new { c.Name, c.City };
Here is how to mock this statement and return fake customers
[TestMethod] [VerifyMocks] public void IsolateLinq() { // create fake return values var fake = new[] { new {Name=“Fake 1“,City=“NY“}, new {Name=“Fake 2“,City=“London“}}; using (RecordExpectations r = new RecordExpectations()) { // don’t hit the database, instead return test customers Northwind db = new Northwind(connStr) ; var answer = from c in db.Customers where c.City == “not-used“ select new { c.Name, c.City }; r.Return(fake); } CallClassUnderTest(); // Continue with test }
Comments about this syntax are welcome
Navigation
Recent Posts
- Releasing Isolator 5.0 and Racer alpha
- Aug 15 2008 - Technical Support, our policy pays
- Aug 15 2008 - Is the visibility of tested methods important?
- Jul 23 2008 - Who is old formula
- Jul 17 2008 - Mocking frameworks - dream feature
- May 19 2008 - Interesting Unit Testing Survay
- May 16 2008
Categories
Archives
- August 2008
- July 2008
- May 2008
- April 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
Managment
Copyright 2006. Eli Lopian. All rights reserved.










4 Responses to “Mocking Linq - Preview”
1 Larry-K 31 December 2007 @ 7:31 am
Can this Mocking Linq be done with the community version, or is a higher level required?
2 Eli Lopian 31 December 2007 @ 9:00 am
Larry,
The Enterprise Edition is required for Linq.
3 Assaf Stone 24 January 2008 @ 6:27 pm
This is not true!
Linq can be mocked with the community version.
All you need to do is mock [Your]DataContext, and pass an IQueryable instead of your Table property (Use ExpectGetAlways(propertyName, mockList.AsQueryable()).
HTH,
Assaf.
4 lola 6 March 2008 @ 8:12 pm
interesting post thx