正確に発表したのは僕ではありませんが、クックビズ開発部の杉田です。先週インドネシアから帰ってきたら雨続きの日々にげんなりしてます。
PHPカンファレンス関西とは
PHPカンファレンス関西は、関西最大規模のPHPエンジニアによる技術者イベントです。
今年の目玉はなんといっても、2015年10月中旬リリース予定2015年11月12日リリース予定のPHP7でした。PHP7の構文がどう変わるのか気になる方はPHP7 tutorialまたは@hnwさんのスライドを見ていただければと思います。
クックビズのエンジニアFlorentも自動テストツールCodeceptionについて発表してきました。(僕も通訳担当で同席したのに彼は全部日本語でスピーチしたので一言も発言することなくセッションが終わりました)
その他のセッションについては弊社の紺野も記事にしていますので、参考にしてください。
発表スライド
Codeceptionを使うと何がいいのか?テストなんてPHPUnitで良いじゃないか?と思われるかもしれません。(え?phpspecだって?よくわかりません)
しかしながら、長らくPHPシステムを運用している会社だとわかると思いますが、テストコードを書けない遺物的システムの存在がありますよね。クックビズにももちろん聖遺物があります。その場合、選択肢として上がるのがSelenium 2ではないでしょうか。結論からいうと、クックビズでもSelenium WebDriverは利用しています。が、テストコードはCedeceptionを利用して書いています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?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')); |
CedeceptionのコードはまるでjQueryの様に簡単に書けますので、学習コストが低く、環境設定を変えるだけで同じコードがSelenium環境でも実行できるわけです。したがって、JSが絡むUIテストもCedeceptionで実行することができます。(ちなみにPhantomJSを使う方がSeleniumを使うより簡単なのですが、私たちが導入した時はPhantomJSのバグのために利用を断念しました)
詳しい使い方はスライドを見ていただくと分かりやすいです。
動画はこちら
WindowsでCodeceptionを使いたい場合はこちらの記事が参考になります。
WindowsにCodeceptionをインストールする手順
参加した感想
通訳として張り切って参加したのに何も喋れなくて残念でした(笑)代わりに懇親会LTで発表したのでスライドを紹介します。
本当の感想。最近クックビズに入社したエンジニアも初めてこの手のイベントに参加して、エンジニアとして良い影響を受けて帰って行きました。カンファレンスや勉強会に参加すると新しい知り合い、新しい知識が増えるため、仕事に限界が見えてきた方は積極的に参加することをおすすめします。
おわり。
著者プロフィール
- 開発部にいるのに何やってるの?と他のスタッフからよく思われてます。ブログ書いたり、社外勉強会でプレゼンしたり、やたらと会社の備品を増やしたり。ちゃんと仕事やってますよ?
ピンバック: Codeceptionの文字化け直してコントリビューターになったよ – cook+biz開発者ブログ