Running Unit Tests in Visual Studio 2010: DebugTestsInClass
Problem
So, I am trying to run Unit tests in Visual Studio 2010. However, it isn’t working.
I am getting this message in the status bar.
The key combination (Ctrl + R, Ctrl + C) is bound to command (DebugTestsInClass) which is currently not available.
I do have Visual Studio 2010 Ultimate so I expected everything to be available.
I did a Google and Bing and MSDN search for “DebugTestsInClass” and got a big fat nothing, which is pretty difficult to do these days. (Of course, that won’t happen for the next guy now that I have made this post!)
Anybody know what the DebugTestsInClass is and how to make it available?
Cause
Ok, so I found the issue. My test project was created a long time ago in Visual Studio 2008 and using MBUnit.
I had changed the test to use no longer use MBUnit, but to use Microsoft.VisualStudio.QualityTools.UnitTestFramework.
I had create a new test project by click Test | New Test.
Then migrate my test classes to the new project.
I was unaware that the test project must be .NET 4, but yes it does. Creating a new Test project allows me to use my Ctrl + R, Ctrl + C functionality.
At first, I thought that using .NET 4 might be a problem because everything else we are doing is currently in .NET 3.5. However, even though we are developing in .NET 3.5 currently, our test projects can be .NET 4 as they only run on dev and build machines.
Resolution
So it looks like multiple steps were required to move my test project from one testing library to another.
- Create a new Test project by going to Test | New Test.
- Move the classes to the new test project.
- Change the class syntax to match the syntax specified by Microsoft.VisualStudio.QualityTools.UnitTestFramework.
- Add any references needed.