Download - Testing PHP extension on Travis CI
Testing PHP extensionon Travis CI
hnw第4回闇PHP勉強会 (2013/03/02) 発表資料
13年3月3日日曜日
自己紹介
@hnw
カレーとバグが大好物
好きな境界値:2^53+1(doubleで表現できない最小の自然数)
最近はHaskellでProject Euler解いてます
13年3月3日日曜日
今日おはなしすること
PHP extension作った!
もちろんCIしたいですよね
でも自分で環境作るとかダルいし
そこでTravis CIですよ
テストの書き方も少しだけ紹介します
13年3月3日日曜日
Travis CIとは
GitHubと連携しているCIサービス
CI=勝手にテスト回す仕組み
各種プログラミング言語に対応
git pushするだけでPHP5.2から5.5でテストが走る
普通はPHPプログラムのテストに使います
13年3月3日日曜日
ExtensionもCIできる!Travis CIではテストコマンドを自由に記述できる
「phpize && ./configure && make test」
13年3月3日日曜日
make testのオプションNO_INTERACTION=1
テスト結果をメールするかどうか聞かない
Travis CIでテストするときは必須
TESTS=--show-all
テストの経過を標準出力に全て表示
環境のログイン権限がないので、情報は多い方がいい
13年3月3日日曜日
Travis CIの不満な点
ZTSなPHPが無い
--enable-debugつきのPHPが無い
FPMなPHPが無い
まあ仕方ないよね…(́・ω・`)
13年3月3日日曜日
テストの書き方
make testの仕組みに乗っかります
tests/*.phptがテスト対象
でも*.phptってあんまり書いたことないですよね
13年3月3日日曜日
*.phptの記法
ext/*/tests/*.phptを参考にすればいいと思うよ!
便利なブロックを少し紹介
SKIPIF:テストをスキップする条件をPHPで書ける
INI:このテストだけで有効なiniの内容を書ける
ENV:このテストだけで有効な環境変数を書ける
13年3月3日日曜日
*.phptの例13年3月3日日曜日
まとめ
Travis CIでPHP Extensionのテストもできるよ!
Extensionのテストは*.phptを書くだけだよ!
テスト書いとくと安心感が違うよ!
13年3月3日日曜日
ご静聴ありがとうございました
13年3月3日日曜日