do I need to manually add each *.m file to my unit test target when it's needed?-Collection of common programming errors
Prior to Xcode 4, the approach you describe was necessary: An application test target had to essentially be a copy of your actual application, plus tests.
But with Xcode 4, we no longer need to do this for testing in the simulator. Instead, use a target that is a unit test bundle, and add your tests to the bundle. During testing, the application is launched, and the test bundle will be injected into and linked with the application, all at runtime.
Since it sounds like you tried this approach, let’s discuss the actual errors you get.