I am working on a test environment for a project, and am looking into using DbUnit.NET to do a lot of the database interaction testing. I do have one very big question though:
We are running against Oracle, and setting up a seperate test DB instance for every developer really isn't feasible (especially since we only have 1 DBA who is already strapped for time). This means that all developers and out Continuous Integration server all need to use the same DB schema.
So, on to the question: is there a good way to prevent more than 1 person from testing at the same time? It would be easy to put a record in a db table that indicates that a test is running, then remove it after tests are finished, but NUnit doesn't have any way to run something at test session start and end.
Any other thoughts? It seems like it should be a pretty common issue... or does everyone actually run separate DB instances for every developer/tester that might run the tests?