I am trying to proceed with my Entity Framework + testing experience. I wrote tests in NUnit that delete the tables, create a fresh database, create rows in tables required for testing, do the tests, and repeat.
There is a nice post about two different test strategies that explain that there are some downsides to testing with Effort
(in memory database). I did have a strong preference for testing against an actual database anyway, because then I can verify the real database to verify if and how things end up in the database.
Then I came across this post, where I can read that I should/could have a different database server for my application and for my tests. E.g. application runs against SQL Server, while tests run against SQL Server CE.
I have a couple of working integration tests now that work on SQL Server Express. My application runs on the same connection string, against the same database server instance.
Is that unwise?
Am I in trouble on the long run?
Can anybody confirm and explain if it is required / advised to use a different database server for the application (SQL Server) and the integration tests (SQL Server CE)?
Thanks a lot in advance.