Coveralls fastlane プラグイン
Xcode のテストカバレッジを Coveralls へアップロードする fastlane プラグイン と、その依存先で、単体でもコマンドラインツールとして利用できる xccoveralls を公開しました。
使ってみる
以下のコマンドを実行して
fastlane add_plugin coveralls
Fastfile
に以下の行を追加
lane :send_coveralls do
coveralls
end
テストターゲットの Code Coverage
のチェックボックスをオンに設定し
fastlane
コマンドよりコードカバレッジを送信できます
export XCCOVERALLS_REPO_TOKEN=... # Coveralls.io から自分のものを取ってくる
bundle exec fastlane send_coveralls
例として CI2Go のカバレッジを Coveralls で、その設定をFastfile で確認いただけます。
開発のきっかけ
fastlane のアクション として組み込まれている Xcov を利用しようとしました。
しかし、Xcov はカバレッジの要約のみ保持している .xccovreport
または .xccoverage
の情報を取得して送信しているため、カバー行の情報まで送信しません。
そこで、Xcode 9.3 より提供されている xcrun xccov
を利用して、新たにこのツールを実装しました。
# ファイルの一覧を取得する
$ xcrun xccov view --file-list DerivedData/Logs/Build/*.xccovarchive
# 特定のファイルのカバレッジを取得する
$ xcrun xccov view --file /Users/ngs/src/CI2Go/AppDelegate.swift \
DerivedData/Logs/Build/*.xccovarchive
参照: xccov: Xcode Code Coverage Report for Humans
もし何か問題がありましたら イシュー を起票いだたけると嬉しいです。
では XCTesting を楽しんでください 👨💻