xcpretty
コマンドラインからiOSのテストを実行すると長々とログが出るのでキレイに整形してくれるツール
$ gem install xcpretty
$ xcodebuild [flags] | xcpretty -c
Travis CI
CIのホスティングサービス。自分でjenkins管理するのは辛いけどきちんとテストしたい!といったときに使う。
githubのプルリクエストとかにそのブランチの最新のテスト結果を表示してくれる。
実行したいコマンドは.travis.yml
というyamlファイルをgitリポジトリのルートに配置する。
例えば上記のxcprettyを使ったコマンドの場合
script:
- xcodebuild [flags] clean build test | xcpretty
上記のように記述します。
xcprettyとTravis CIを併用する
このTravis CIとxcprettyを併用すると、レポート結果がうまく出力されないことがあります。
具体的にはテスト自体はこけているのにtravisからはsuccessとしてレポートされてしまいます。
この点についてはこちらの記事
http://qiita.com/radioboo/items/bb3bba734a68f0c25c81
やxcprettyのgithub
https://github.com/supermarin/xcpretty#usage
などで言及されているようにPIPESTATUSを引き継いでexitすればよいとされています。
それでも直らない場合
上記の様に.travis.ymlを
script:
- xcodebuild [flags] clean build test | xcpretty -c && exit ${PIPESTATUS[0]}
としてもテストが失敗する場合があります。
travisの中の人に問い合わせたところ、exitコマンドを直接使うのはTravisと相性がよくないようです。
それを回避するために一枚ラッパスクリプトをかますと良いとのアドバイスを頂きました。
そこで
#!/bin/bash
xcodebuild [flags] clean build test | xcpretty -c && exit ${PIPESTATUS[0]}
のようなスクリプトを一段用意してやり、.travis.yml
には
- bash ./run_test.sh
としてやれば、テストの実行結果とレポート結果が同じになります。