コード内で現在ユニットテスト中か否かを判定する。


はじめに

現在、アプリとして動いているか、あるいはテスト中かを判定したい事があると思います。ただ、iOSにはそれ用のメソッドが準備されていません。これはマクロを定義する必要があるのか?と嘆く必要ありません。それなりにエレガントな解決方法があります。

実際のコード

以下のようにXCTestCaseが存在するか否かを調べる事で判定することができます。

   Class testSuite = NSClassFromString(@"XCTestCase");
   return testSuite != nil;