Having researched this extensively I'm now confused. Can someone clear up my confusion?
I need to be sure that when I run a series of 'unit' tests with MSTest they each start after the previous test has completed. I don't have an issue with thread safety, but I do have a potential issue with individual tests setting a database state to suit that test (and restoring the previous state at the end), and thus interfering with each other if execution overlaps.
We're using VS2008 TFS (Whidbey?). Some people have stated that this version of MSTest launches tests in separate threads, concurrently, and others that it runs tests in sequence, one after the other. I could put everything in an ordered test run but that's messy for us and is really intended to control the exact order of execution, which is not our issue (and anyway I want to encourage my team to write isolated tests where the order doesn't matter.) I have to say that observation of the test run in progress seems to suggest that the tests are being executed one at a time, but casual observation can be misleading.
Can somebody in the know, perhaps on the MSTest team itself, give me a definitive answer on this? Are the tests run in strict sequence or potentially overlapping each other?
TIA