I am writing some unit tests in Visual Studio 2010. I can run all tests by using "Run all Tests in Current Context".
However, if I write a new unit test, it does not get picked up by the environment - in other words, I am not able to find it in Test List Editor, by running all tests, or anywhere else. If I unload the project and then reload it; the new test is available to run.
When I am adding a unit test, I simply add a new method to an already existing TestClass and decorating it with [TestMethod] attribute - nothing fancy.
What might be causing this behaviour, and how do I make it work ?
I finally figured out the problem. In Options under Test Tools -> Test Project, there is an option "Disable background discovery of test methods". It was turned on - I do not know how that happened, but removing the checkmark and restarting Visual Studio solved the problem.
I've had this problem as well when building in debug mode. When I switched it to build in release mode that fixed it for me.
I had a similar problem in Visual Studio 2012, however none of the solutions worked. I am developing a 64 bit application and the solution was to choose:-
Test -> Test Settings -> Default Processor Architecture -> X64
I've had this issue and option 2 below fixed it for me.
Remove any app.config file (not sure why, but one of the MS forums has a few of these posts with this solution) and
Ensure that within the configuration properties of the solution the project is set to build!!