If you have Resharper installed, then MSTest doesn’t really provide any advantages over NUnit, so I would probably just stick with NUnit because it’s more mature and better supported. NUnit also has the standalone GUI test runner, which can be convenient at times. If you don’t have Resharper, then MSTest might be better because you wouldn’t get Visual Studio IDE integration for NUnit. The IDE integration is key for rapid test runs and development. I’m pretty sure TeamCity supports both NUnit and MSTest, so no advantages either way there.
At my previous company, we used Selenium for front-end website test automation, driven by NUnit tests, and it worked well for us.
--Rajeev
We use teamcity for our build + integration + testing and it works great. For every component built in VS we also build a unititest project. For example the “Cache Manager” solution file contains both the unit test project and the cache manager library. This also allows the developers to open a SLN , make a code change to a component, hit F5 on the test project and verify before checking in.
We have team city sync, build all the SLN and run all the tests.. works really well for us.