標準出力に色付けしてテストの情報を見やすくする
xcodebuildを使ってテストするときに、表示を区別できないかと考えてみた。
特に、課金でiTunesStoreに接続する場合のように、 シミュレータではテスト出来ないケースを判別したかった。
普通に標準出力で適当なメッセージとしてログを出すのでも良いけど、沢山出力されると見つけづらい。
色付けしてみた。
ログの表示方法はどれでも良い。
- (void)testExample { #if !TARGET_IPHONE_SIMULATOR NSLog(@"\x1b[31mシミュレータでは実行しません\x1b[m\n"); XCTFail(@"\x1b[31mシミュレータでは実行しません\x1b[m\n"); XCTestLog *testlog = [[XCTestLog alloc] init]; [testlog testLogWithFormat:@"\x1b[31mシミュレータでは実行しません\x1b[m\n"]; #else // Some test code #endif }
結果
赤く表示されてます。
やり方
標準出力への色付けはどうやるか知らなかったのだけれど、Wikipediaにまとめてあった。
文字色以外にも変更出来そう。
もっといい案ありそう…
Xcodeで実行した時は色付かないし、もっといい案がありそう。 なんか良い案ある人教えてェ