You could for example have an environment variable to signify which test to run, with unset meaning run them all (which would be the usual case). Like so: (this is C, but I think it'll work in objetive C as well)
char *env = getenv ("MY_TEST_ENV");
and then when running each test
if (! env || 0 == strcmp (env, "testOne"))
testOne();
Or you could put the same condition inside the test itself and just return if it fails. This wouldn't keep your tests from being compiled though, but I don't think that's your problem is it? Just set the environment variable to the test you want to run, and none of the others will.
EDIT
To make it even easier, put that in a macro
#define RUN_TEST(fn) do{if(!getenv("MY_TEST_ENV")||!strcmp(getenv("MY_TEST_ENV"),#x))x();}while(0)
and always execute your test with that
RUN_TEST(test_one);
... and you've got yourself a little unit test framework going. Before taking it too far and reinventing too many wheels though, you should (as has been pointed out) perhaps take a look at existing frameworks.