Using Visual Studio and TFS & preferably Specflow or standard unit test.
I want devs to run ALL unit test as a policy before check in. If a unit test breaks, then vS should stop them from checking in, just like when running across a merge conflict.
I know there’re post build scripts that will do this, but really if unit test breaks, I rather that it doesn’t get into source control at all. Plus the turn around is rather slow to wait for the full build. And then there’s the bickering on who breaks whose stuff.
So no, I want unit test to pass locally before a check in. How would I do that? Yes they can just hit the button, but I like to get them a bit more “incentive” than that.
The TeamCity Visual Studio plugin supports pre-tested commits. I can’t speak for TFS, however.