ユーザ用ツール

サイト用ツール


jenkins_自動テスト_iosコードチェック

jenkins側での自動テスト用の準備

・プロジェクトの設定→ビルド・トリガ
SCMをポーリングのスケジュールに「H/2 * * * * 」を入れる
上記により、2分ごとにSVNまたはGitの変更を確認するようになる、
新たにコミットなどが有り、リビジョンが変更された時、登録をしたビルドが実行される。

podsが有る場合の注意点

※こちらは確実な方法ではありません
・jenkins上にてpodsをインストールするよりかは、podsを入れたプロジェクトを入れる方が楽だと思います。
・シェルの実行を追加し下記コードを追加する

#!/bin/bash
#Profileを読み込み、文字コードをUTF-8にする
cd /Users/sou/
source .bash_profile
#ワークスペースに移動し、podsインストールを行う
cd ${WORKSPACE}
pod install

Coberturaレポート

網羅テストを行い、使われていない関数などを発見などに使用する。

Coberturaの導入方法

ソース側での準備

・Build Settingの下記項目を変更

InstrumentProgram Flow Yes 
Generate Test Coberage Files Yes  

・ビルドを実行するスキームを共有するようにしておく。
Xcode→Product→Scheme→Manage Schemeにて指定のSchemeのSharedにチェックを入れておく

jenkins側での準備

・ビルドに「シェルの実行」を追加
・下記コマンドを書き込む
※ -target、-configuration、-scheme はプロジェクトによって変更すること

#シュミレーターで起動してテストを行う
#機種ならPlatformなどを変更すれば可能
xcodebuild -target "hitosara" -sdk iphonesimulator -configuration Debug build CONFIGURATION_BUILD_DIR=$WORKSPACE/build
xcodebuild test -scheme "hitosara" -sdk iphonesimulator -configuration Debug -destination "platform=iOS Simulator,name=iPhone 6"
#テストをして排出されたレポートデータを
#gcovに入れてjenkinsで読めるように変更する
/usr/local/bin/gcovr --xml -e '.*Tests/' -o build/cobertura_report.xml -r $WORKSPACE 

・ビルド後の処理に「Coberturaガバレッジレポートの集計」を追加する。 ・「Cobertura XMLレポートパターン」に上記コマンドで指定したレポート排出場所を指定する。
今回の場合は「build/cobertura_report.xml」を記入する。

参考URL

PMD

PMD導入方法

jenkins側での準備

・ビルドに「シェルの実行」を追加
・下記コマンドを書き込む
※ -target、-configuration、-scheme はプロジェクトによって変更すること

xcodebuild clean
xcodebuild -target "hitosara" -sdk iphonesimulator -configuration Debug build CONFIGURATION_BUILD_DIR=$WORKSPACE/build | tee xcodebuild.log
/usr/local/oclint-0.8.1/bin/oclint-xcodebuild
/usr/local/oclint-0.8.1/bin/oclint-json-compilation-database -- -report-type pmd -o build/oclint.xml

・ビルド後の処理にPMD警告の集計を追加 
・集計するファイルに「**/oclint.xml」を書き込む

参考URL

jenkins_自動テスト_iosコードチェック.txt · 最終更新: 2015/11/26 15:51 by monden