What is Effort?
Effort is an easy-to-use tool that enables a robust way of testability for applications that rely on Entity Framework. Originally it was developed by a student group in the Department
of Automation and Applied Informatics of Budapest University of Technology and Economy.
Where does the name come from?
Effort is an acronym of Entity Framework
Fake ObjectContext Realization
Tool. Obviously it is also able to work with DbContext objects.
How does it work?
It emulates the relational database server with a completely .NET based lightweight in-memory database. All the data operations are redirected to it, so the tests can run completely in-process.
This does not sound like unit but integration testing for me!
You are right, I use the term "unit testing" in the title because of SEO reasons :) Also most people don't seem to know about the differences between them.
Does it have any limitation?
Yes, it can only emulate operations that go through the Entity Framework pipeline. This follows that database specific operations cannot work (e.g: ExecuteStoreCommand). Stored procedures, views and triggers cannot be emulated too. However, the
more Entity Framework evolves, the more thing Effort will be capable of.