Xcode 7からSwiftでのコードカバレッジが採れるようになりましたので、Travis CI上でSlatherを実行することでカバレッジデータを取得して、それをCodecovに送るようにします。
本エントリを作成するにあたって、次の記事が大変参考になりました。
2015.10.16追記Codecov.ioはslatherなしでもカバレッジ取得が可能なので、本文中のSlatherに関する記述を削除
tl;dr
CodecovにGithubリポジトリを追加
Xcode上でテストするスキームのGather coverage dataにチェック
.travis.yml
のafter_success
セクションに次のような記述を追加after_success: - bash <(curl -s https://codecov.io/bash)
バッジやグラフの追加
XcodeのCode Coverageの設定
Edit Scheme… → Test → Gather coverage dataにチェックを入れておきます。
これにチェックを入れた上で、メニュー → Edit → Show Code Coverageにもチェック入れて、Xcodeでテスト実行すると、とりあえずXcode上でカバレッジを見ることができます。
Codecov.ioでのリポジトリ準備
Codecov側でリポジトリを扱えるようにします。必要なことはCodecovのページでAdd new repository to Codecovをクリックしてリポジトリを選ぶだけです。
リポジトリを選択すると次のようなページが表示されますが、Travisと連携する場合には何もする必要はありません。
Codecov.ioへのガバレッジデータの送信
あとは、.travis.yml
に次のコードを追加するだけです。
after_success: - bash <(curl -s https://codecov.io/bash) # この行を追加
これでTravisでビルドされたときに、成功ならカバレッジのデータがCodecovに送信されて、結果が見えるようになります。
非ガバレッジコードの指定
カバレッジを無視したいソースファイルはCodecov.ioのGUIで指定することができます。
なぜか、Slatherで--ignore
を指定しても意味がなかったので、今回はCodecov.ioで設定しました。
README.mdへのバッジの追加など
あとは、バッジをREADMEに貼りつけたり、
[![codecov.io](http://codecov.io/github/safx/yavfl/coverage.svg?branch=master)](http://codecov.io/github/safx/yavfl?branch=master)
GitHubやBitbucketからカバレッジが見えるようにプラウザ拡張を導入するとよいでしょう。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。