こんにちは、シュキーン開発チームのsheriukiです。
2015/5/30(土)に大阪で開催されたPHPカンファレンス関西2015に参加してきました。
会場は大阪駅からほど近い、ブリーゼプラザ ホール&カンファレンスです。
弊社はPHPカンファレンス関西2015のゴールドスポンサーとして、簡易的ではありますがブースを出させていただきました。
社内でコワモテに定評のある小野副社長と一緒にブース対応。
当日のセッション一覧
- メイントラック
- フレームワークトラック
- PHPのフレームワークを俯瞰してみる
- Yii Framework 2 -いま求められるRAD標準とは-
- CakePHP3 – Large outer gulp
- 進化し続けるLaravel
- Symfony – フレームワークの先へ
- セッショントラック
- Codeceptionのテスト
- 継続的インテグレーションとChatOpsでシステム開発・運用を効率化
- PHPに足りないセキュリティ機能
- エンジニア1人の状態から複数人同時開発を実現するまでにやったこと
- PHP x AWS でスケーラブルなシステムをつくろう
- PHPer だからこそ知っておきたい、JavaScript のテストを複数ブラウザで自動実行する話
- Phalcon PHPフレームワーク Sense of Use
- PHP で始める AWS モバイルサービス
- コミュニティ活動からみる PHP セキュリティ
- PHPでデータ解析を始めるにはまず、GAから始めると良いかもしれない
- ブーストラック
- AWSでのRESTfulアプリ開発ワークショップ実演
- みんなで触ってみよう!PhpStorm/GitHub
私はブース番の合間に以下に参加しました。
Codeceptionのテスト
クックビズのBatard Florentさんによるプレゼンです。
Codeceptionは以下のテストをカバーするテストフレームワークです。
- 受け入れテスト
- 機能テスト
- 単体テスト
Codeceptionの売りは
- 書きやすい
- 読みやすい
- デバッグしやすい
とのことです。
Codeceptionによる受け入れテストコードのサンプルを見てみると、
<?php $I = new AcceptanceTester($scenario); $I->wantTo('create wiki page'); $I->amOnPage('/'); $I->click('Pages'); $I->click('New'); $I->see('New Page'); $I->fillField('title', 'Hobbit'); $I->fillField('body', 'By Peter Jackson'); $I->click('Save'); $I->see('page created'); // notice generated $I->see('Hobbit','h1'); // head of page of is our title $I->seeInCurrentUrl('pages/hobbit'); $I->seeInDatabase('pages', array('title' => 'Hobbit')); ?>
確かにわかりやすい!テストシナリオの流れが一目瞭然ですね!
Batardさんは「本番環境では決してテストしないように」と言いながら、デモではPHPカンファレンス関西2015の公式サイトをテストしていました(笑)。
PHPer だからこそ知っておきたい、JavaScript のテストを複数ブラウザで自動実行する話
@suzukiさんによるプレゼンです。
発表スライドはこちらです。
KarmaはJavaScriptのテストランナーです。JavaScriptコードはブラウザによって挙動が異なる場合がありますので、複数のブラウザでテストを行なう必要があります。
2015/06/04時点の最新バージョンであるv0.12では、以下のブラウザに対応しています。
- Chrome and Chrome Canary
- Firefox
- Safari
- PhantomJS
- Opera
- IE
- SauceLabs
- BrowserStack
MacやLinuxのユーザーでIEのテストを行いたい場合には、マイクロソフトが提供するWeb検証用VMイメージを利用することがよく知られています。
なんとKarmaはプラグイン “karma-ievms” を使うことで、このVMイメージ上のIEでテストを動作させることができるそうです!
ちなみにWeb検証用VMイメージからVMイメージを一括でダウンロードするツール “ievms” も紹介されていました。
全てのVMをダウンロードすると40GBを超えるので注意してください!
ライトニングトーク
心残りだったのが、16:00からのLT大会です。都合によりLT大会前に会場を後にしたのですが、帰り際にLTのタイトルを見て唖然!
ヤバいタイトルばかり。
懇親会LTのタイトルがヤバイ #phpkansai pic.twitter.com/dMca9SlCq6
— PHPカンファレンス関西 (@phpcon_kansai) 2015, 5月 30
まとめ
ITカンファレンスは、短時間で多くの情報を得られる場であることを再認識しました!
今回学んだCodeception, Karmaは、シュキーンのテストに活用できそうなので、導入を検討したいと思います!