PHP
バージョン2で入った新機能などを紹介するエントリなど書く書く詐欺をしていたら年末になってしまいました。 というか2014年、2つめのエントリ。。。。そんな今年は ZF2 x Codeception Laravel4 x Codeception を中心にお仕事をしておりました。社内における…
久しぶりの更新です。Codeception、メジャーバージョンアップが近いです。楽しみです。ここのところ、Zend Framework2 + Codeception で開発をしていました。 その中でバグを2件見つけてPRしたので、参考までに。 1. input[type=image]をクリックした場合に…
TLで話題になっているCodeIQでの問題と解説はこちらです。これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE大変丁…
先日、Codeceptionが1.8にバージョンアップされました。1.8での変更点の詳細は本家サイトを見ていただくとして、注目すべきは以下の2点。 Phalcon Framework の正式サポート Environments という概念の追加 1つ目は説明不要と思いますが、2つ目は前回のエ…
久しぶりの更新です。CodeceptionのAcceptance TestにSeleniumを利用する場合のTIPSになります。 とある場所にて、Codeceptionのレクチャーをした際に、「IE, ChromeでもAcceptance Testは可能ですか?」という質問をいただきましたので、ここにまとめておき…
How to simulate Authentication with a Token in a Functional Test (current) - Symfony に書かれている内容をCodeceptionではどのように実現するか。 1. 専用のHelperを書く
HWIOAuthBundleを使ってSymfony2でOAuth認証を実装するの続編です。今回はアプリ側にユーザー情報を格納するテーブルがあることを前提に、OAuth認証によって得られた情報と連携させてみます。実現したい内容としては、以下となります。 ログイン用のリンクを…
しばらくCodeceptionネタが続く予定だったのですが、Symfony2 + OAuth認証で結構はまったのでシェアしておきます。FacebookやTwitterやGoogleなど、ソーシャルアカウントでログインする機能を作成したい場合、各ベンダーが提供しているAPIを利用することもで…
しばらくはCodeceptionネタが続きます。社内でTDDの勉強会をする機会があり、課題としてTDD Boot Campのものを利用させていただきました。 どうせなら、ということでCodeceptionを使って挑戦してみました。ユニットテストのみで、あまりCodeceptionの旨味は…
前回はFizzBuzzのUnitテストを書きました。前回までは単にFizzBuzzを生成できるようになったものの、 アプリケーションとしては成り立っていないので、 今回はコンソール出力するアプリケーションを作成し,そのテストを書いてみます。 また、コードカバレッ…
前回は Codeceptionを使ってみた(1) - think it over簡単なCLIアプリケーションをテストしてみようと思います。 前回の予告どおり、題材はFizzBuzz問題を取り上げてみます。今回はFizzBuzzを生成する箇所のUnitテストを書いています。 1. テスト対象の作成…
個人的に大注目しているPHP用のテスティングフレームワークCodeception - BDD-style PHP testing.を試しています。 まだ日本語情報が少ないですが、以下のコードを見て一発で気に入ってしまいました。 am('testing framework'); $I->wantToTest('your web ap…
番外編です。 Jenkinsのチャートの文字化けを修正する チャートの日本語がいわゆる「豆腐」状態になってしまっていると思います。 http://shunirr.hatenablog.jp/entry/2013/01/10/175426 http://d.hatena.ne.jp/mallowlabs/20120316/jenkins_tofu を参考に…
第6回です。 前回のおさらい イテレーション D: JenkinsでCIするJenkinでプロジェクトをビルドできるようになりました。 今回の内容 PHPMDやPHPCS等の各種ツールを導入し、Jenkinsと連携してみます。 いまどこ? イテレーション 0: 準備 タスク 0-1: 必…
第5回です。 前回のおさらい イテレーション C: JenkinsをVagrantで構築する世に公開されているcookbooksをかき集めてJenkinsを立ち上げました。 今回の内容 いよいよプロジェクトをJenkinsに設定し、CIしてみます。 いまどこ? イテレーション 0: 準備 …
第4回です。 前回のおさらい イテレーション B: PhingでプロジェクトをビルドするPhingビルドツールを導入し、PHPUnitをPhingから実行できるようになりました。 今回の内容 Vagrantを利用してJenkinsを構築します。 いまどこ? イテレーション 0: 準備 タ…
第3回です。 前回のおさらい イテレーション A: Symfony2でプロジェクトをはじめるSymfony2のプロジェクトをGitLabで管理し、PHPUnitを単体で実行できるようになりました。 今回の内容 Phingビルドツールを導入し、PHPUnitをPhingから実行できるようにしま…
第2回です。 前回のおさらい イテレーション 0: 準備必要となるソフトウェアのインストール等、進めるための準備をしました。 今回の内容 Symfony2のプロジェクトを作成し、GitLabで管理します。また、PHPUnitを導入してテストを実行できるようにします。 …
Vagrantを触ってみた - think it overにも書いたように、 Web開発にまつわる開発環境を「モダンないい感じ」にしたい!!! という目的でこれまでいろいろと調査・実践してきました。その総集編を複数回に分けて取り纏めてみようと思います。題して、Symfony…
調べても「どんぴしゃ!」な情報がなかったのでまとめておきます。 1.前提情報 OS Windows 7 Vagrant Vagrant version 1.0.7 利用するbox CentOS 6.4 x86_64 Minimal (VirtualBox Guest Additions 4.2.8, Chef 11.4.0, Puppet 3.1.0) 2.下ごしらえ boxを…
Symfony 1.X系のお話です。ちょっとはまったので。。。 サブディレクトリにフロントコントローラがある場合に、view.ymlに stylesheets: - /common/css/jquery/jquery.loadmask.css: { media: all } - /common/css/jquery/jquery-ui-1.8.16.custom.css: { me…
ちょっとばかし面倒な作業を自動化するため、 PHPからGoogle SpreadsheetをCSVで取得してみた。 username = $username; $this->password = $password; } protected function authenticate($…
iOS6のSafariでWebサイトが正しく動作しない問題がかなり深刻・・ - NAVER まとめ等で報告されている事象の一部にぶちあたった。それは、、、 問題その1. AjaxのPOSTがキャッシュされる とある見積サイトにて、ユーザーの入力内容と最終的な見積金額が合わ…