UnitTestが実行中かどうか調べる方法として、 NSProcessInfo の environment
の中身をチェックする方法が挙げられますが、
Xcode8でどうもうまく動かなかったので再度調べなおしてみました。
Xcode8でも判定できるようにする
当初、こちらの記事を参考にしていたのですが、どうもうまく判定できなくて困っていました。。
結局調べた結果、以下の形で落ち着きました。
if ProcessInfo.processInfo.environment["XCTestConfigurationFilePath"] != nil {
// UnitTest実行中
}
XCInjectBundle を XCTestConfigurationFilePath に変更すれば良いようです。
- ※: Xcode8, swift3.0