If you plan to call into another program and test that source code, your unit test projects must be in the same workspace as the program you plan to test. You can also create self-contained unit test projects, where the code under test is all stored within the unit test project, in which case, the project can be stored in any workspace.
If you are calling into another project from your unit test project, there are a number of pre-requisites that must be satisfied before you can run your tests. Both your project under test and the unit test project must be compiled to the same bitism, and the project under test must be compiled to a target type of Single Native Library File or All Int/Gnt Files.
A unit test project can call into more than one other project. Within the unit test project, create a test fixture for each project under test. so that when creating the fixture file using the Create unit test from program option, the necessary elements to link the test cases directly to the source code in that project are added.