Adding mocking/testing support into the Future Extension Methods#198
Open
irkine wants to merge 2 commits intozzzprojects:masterfrom
Open
Adding mocking/testing support into the Future Extension Methods#198irkine wants to merge 2 commits intozzzprojects:masterfrom
irkine wants to merge 2 commits intozzzprojects:masterfrom
Conversation
added 2 commits
February 24, 2016 23:03
* Cleaning up extra error checking. * Fixing spelling of 'Underlying'
* Adding 'test' Queryable interfaces: IFutureTestQueryable and * IFutureTestQueryable<T> * Adding a test hook to extension methods to return wrapped queryable when * given an IQueryable that also inherits from one of the test interfaces. These changes allow mocking and testing of code which uses the FutureExtensionMethods.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I am maintaining code that does extensive mocking of the DbContext in order to write a unit test suite. This works fairly well, but I was having issues when ".Future()" became a part of some queries... since the underlying context is a mock, it returns Lists .AsQuerable() ... which Future hard-stops on.
With this update, Future() can accommodate this testing scenario by allowing tests to inherit from one of two IFutureTestQueryable interfaces.
While I will likely use this modified version going forward, I thought the changes might be more generally useful.
Please let me know if you have any questions or concerns.