Whenever I try to run tests on Test Explorer from Visual Studio 2012, SOME test are being categorized as "External", even though the Group By is set as "Group By Project"
Then the source code is not recognized
This is due the pdb file is not included in the compilation. If you're compiling in a solution configuration other than debug you must ensure that pdb is included.
To achieve that you must open the advanced build setting:
In the new window you must select "pdb-only" in the debug info dropdown.