Should I start a new project for my unit tests? That would mean that I would get two executables correct? Then I am worried about the namespace organization. Would I be able
The best approach is to have a separate unit test project per 'production project'. This ensures that you can vary and move them around in pairs.
If you have one unit test project covering more than one target project, this creates an artificial tight coupling between these two projects, because you will not be able to compile the unit test project without all of its target projects. This, again, makes it really hard to test a single project in isolation - which is what unit testing is all about.
It's very important to keep unit tests in separate libraries, because this ensures that you test only the public API of your code (black box testing).
I name my namespaces by appending "UnitTest" after the target namespace.