How does Visual Studio /mstest identify test projects?
mstest, visual-studio-2010
Solution
In the project file, there's an XML element with the name `ProjectTypeGuids`, that holds a few GUIDs that denote test project. Example as follows.
<Project>
<PropertyGroup>
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
</PropertyGroup>
</Project>
Here's a list of known project type GUIDs for Visual Studio 2010: http://onlinecoder.blogspot.com/2009/09/visual-studio-projects-project-type.html
In the example above, it shows the project to be of type Test and Windows (C#).
Problem
Say (100% hypothetically) that I've accidentally added a unit test project as project type "Class library" to a VS2010 solution. I've then added the assemblies needed to run it as a Unit Test project, but MSTest won't pick up on it when I hit "Run all tests in solution". What are the criterias here? I had a couple of theories, which all have failed so far: - Something in the .testsettings file (no references to any assemblies here as far as I can see) - Something in the .SLN file (can't find anything) - Something in AssemblyInfo.cs (no, it's not) - Implict by referencing the (...)UnitTestFramwork.dll (Obv not) Anyone?