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; or if you have a remote unit test project, the sources it tests must be located on the same remote host and accessed using the same connection as the unit test project. You can also create standalone 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/location.
If you are calling into another project from your unit test project, both projects must be compiled to the same bitism.
Also, the project under test can be compiled to a number of target types: for program unit tests, projects can be compiled to Single Native Library File, All Native Library Files, or All Int/Gnt Files; for self-contained unit tests, projects can also be compiled to Single Executable File or All Executable Files as well as the others previously mentioned.
When you have a unit test project that is working with multiple other projects, we recommend that you create a test fixture for each project under test. When working with program tests, this allows the correct coding to call the source program when creating the fixture file using the Program Unit Test option. When working with self-contained tests, you can only have one fixture file per unit test project; if you need to run multiple self-contained tests on a source program, add additional entry points (prefixed MFUT_) to the copybook.