Codeceptionのドキュメントの翻訳をはじめました。

日本のPHPerにもっとCodeceptionを知ってもらうため、ついに?立ち上がりました。タイトルのとおり、Codeceptionのドキュメントの翻訳をはじめました。 リポジトリ piccagliani/Codeception.docs.ja_JP · GitHub 日本語ドキュメント置き場 Codeception.docs.…

JenkinsとDockerを使い、WebアプリのE2Eテストをする

前回のエントリの続きです。 今回は単純なアプリのテストなので、Dockerfileもテスト手順もシンプルでした。 より複雑な手順が必要となる、Seleniumを利用したWEBアプリのE2Eテストなどもこの方式でできるのかどうか、引き続き実験してみます。 ということで…

JenkinsとDockerを使い、動作環境の異なるアプリをCIする

私が属する組織では受託開発がメインでして、サーバーやミドルウェアなどの要件を我々が自由に決定できないケースもしばしば。 基本はPHPなのですが、案件によってバージョンが異なったり、近頃ではNodeの案件なども出てきました。長いこと「CIサーバを導入…

【メモ】 CentOS6.5 + Docker + Jenkins用Vagrant シェルプロビジョニング

メモメモメモ.... sed: -e expression #1, char 41: unknown option to 's' のエラーにはまった... Vagrant provisioning: CentOS6.5 + Docker + Jenkins

マニュアルには載っていないCodeceptionのコツ/TIPS

バージョン2で入った新機能などを紹介するエントリなど書く書く詐欺をしていたら年末になってしまいました。 というか2014年、2つめのエントリ。。。。そんな今年は ZF2 x Codeception Laravel4 x Codeception を中心にお仕事をしておりました。社内における…

Codeceptionにバグ修正をプルリました。

久しぶりの更新です。Codeception、メジャーバージョンアップが近いです。楽しみです。ここのところ、Zend Framework2 + Codeception で開発をしていました。 その中でバグを2件見つけてPRしたので、参考までに。 1. input[type=image]をクリックした場合に…

CodeceptionとAspectMockを使って和田卓人さんの現在時刻に依存するテストを書いてみた

TLで話題になっているCodeIQでの問題と解説はこちらです。これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE大変丁…

PhalconアプリケーションをCodeceptionでテストしてみた

先日、Codeceptionが1.8にバージョンアップされました。1.8での変更点の詳細は本家サイトを見ていただくとして、注目すべきは以下の2点。 Phalcon Framework の正式サポート Environments という概念の追加 1つ目は説明不要と思いますが、2つ目は前回のエ…

(Codeception + Selenium2) Acceptance Testに複数種類のブラウザを利用する

久しぶりの更新です。CodeceptionのAcceptance TestにSeleniumを利用する場合のTIPSになります。 とある場所にて、Codeceptionのレクチャーをした際に、「IE, ChromeでもAcceptance Testは可能ですか?」という質問をいただきましたので、ここにまとめておき…

(Codeception + Symfony2) セキュアなページに対するFunctional Test

How to simulate Authentication with a Token in a Functional Test (current) - Symfony に書かれている内容をCodeceptionではどのように実現するか。 1. 専用のHelperを書く

HWIOAuthBundleを使ってSymfony2でOAuth認証を実装する(EntityUserProvider)

HWIOAuthBundleを使ってSymfony2でOAuth認証を実装するの続編です。今回はアプリ側にユーザー情報を格納するテーブルがあることを前提に、OAuth認証によって得られた情報と連携させてみます。実現したい内容としては、以下となります。 ログイン用のリンクを…

HWIOAuthBundleを使ってSymfony2でOAuth認証を実装する

しばらくCodeceptionネタが続く予定だったのですが、Symfony2 + OAuth認証で結構はまったのでシェアしておきます。FacebookやTwitterやGoogleなど、ソーシャルアカウントでログインする機能を作成したい場合、各ベンダーが提供しているAPIを利用することもで…

Codeceptionを使ってTDD Boot Camp 大阪 2.0/課題に挑戦してみた

しばらくはCodeceptionネタが続きます。社内でTDDの勉強会をする機会があり、課題としてTDD Boot Campのものを利用させていただきました。 どうせなら、ということでCodeceptionを使って挑戦してみました。ユニットテストのみで、あまりCodeceptionの旨味は…

Codeceptionを使ってみた(3) Functionalテスト

前回はFizzBuzzのUnitテストを書きました。前回までは単にFizzBuzzを生成できるようになったものの、 アプリケーションとしては成り立っていないので、 今回はコンソール出力するアプリケーションを作成し,そのテストを書いてみます。 また、コードカバレッ…

Codeceptionを使ってみた(2) Unitテスト

前回は Codeceptionを使ってみた(1) - think it over簡単なCLIアプリケーションをテストしてみようと思います。 前回の予告どおり、題材はFizzBuzz問題を取り上げてみます。今回はFizzBuzzを生成する箇所のUnitテストを書いています。 1. テスト対象の作成…

Codeceptionを使ってみた(1) 導入

個人的に大注目しているPHP用のテスティングフレームワークCodeception - BDD-style PHP testing.を試しています。 まだ日本語情報が少ないですが、以下のコードを見て一発で気に入ってしまいました。 am('testing framework'); $I->wantToTest('your web ap…

Gitのワークフロー・運用ルールを決める上で参考になるサイトたち

Git

必見 こわくない Git A successful Git branching model » nvie.com GitHub Flow – Scott Chacon GitHub Flow (Japanese translation) Git で日々の共同作業やリリース作業をサポートする git-daily を作りました | GREE Engineers' Blog 先人の知見 Git の…

Symfony2プロジェクトをGitLabで管理してVagrantで立てたJenkinsでCIする(番外)

番外編です。 Jenkinsのチャートの文字化けを修正する チャートの日本語がいわゆる「豆腐」状態になってしまっていると思います。 http://shunirr.hatenablog.jp/entry/2013/01/10/175426 http://d.hatena.ne.jp/mallowlabs/20120316/jenkins_tofu を参考に…

Symfony2プロジェクトをGitLabで管理してVagrantで立てたJenkinsでCIする(6)

第6回です。 前回のおさらい イテレーション D: JenkinsでCIするJenkinでプロジェクトをビルドできるようになりました。 今回の内容 PHPMDやPHPCS等の各種ツールを導入し、Jenkinsと連携してみます。 いまどこ? イテレーション 0: 準備 タスク 0-1: 必…

Symfony2プロジェクトをGitLabで管理してVagrantで立てたJenkinsでCIする(5)

第5回です。 前回のおさらい イテレーション C: JenkinsをVagrantで構築する世に公開されているcookbooksをかき集めてJenkinsを立ち上げました。 今回の内容 いよいよプロジェクトをJenkinsに設定し、CIしてみます。 いまどこ? イテレーション 0: 準備 …

Symfony2プロジェクトをGitLabで管理してVagrantで立てたJenkinsでCIする(4)

第4回です。 前回のおさらい イテレーション B: PhingでプロジェクトをビルドするPhingビルドツールを導入し、PHPUnitをPhingから実行できるようになりました。 今回の内容 Vagrantを利用してJenkinsを構築します。 いまどこ? イテレーション 0: 準備 タ…

Symfony2プロジェクトをGitLabで管理してVagrantで立てたJenkinsでCIする(3)

第3回です。 前回のおさらい イテレーション A: Symfony2でプロジェクトをはじめるSymfony2のプロジェクトをGitLabで管理し、PHPUnitを単体で実行できるようになりました。 今回の内容 Phingビルドツールを導入し、PHPUnitをPhingから実行できるようにしま…

Symfony2プロジェクトをGitLabで管理してVagrantで立てたJenkinsでCIする(2)

第2回です。 前回のおさらい イテレーション 0: 準備必要となるソフトウェアのインストール等、進めるための準備をしました。 今回の内容 Symfony2のプロジェクトを作成し、GitLabで管理します。また、PHPUnitを導入してテストを実行できるようにします。 …

Symfony2プロジェクトをGitLabで管理してVagrantで立てたJenkinsでCIする(1)

Vagrantを触ってみた - think it overにも書いたように、 Web開発にまつわる開発環境を「モダンないい感じ」にしたい!!! という目的でこれまでいろいろと調査・実践してきました。その総集編を複数回に分けて取り纏めてみようと思います。題して、Symfony…

Vagrantとchef-soloでCentOS6.4にPHP5.4を入れる

調べても「どんぴしゃ!」な情報がなかったのでまとめておきます。 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を…

クロスドメインなiframeの高さを自動調整する(easyXDM版)

クロスドメインなiframeの高さを自動調整する(Porthole版) - think it overにて、IEにおける動作に不安があったので、代替のeasyXDMについても試してみました。 1.easyXDMとは、 easyXDM is a Javascript library that enables you as a developer to ea…

クロスドメインなiframeの高さを自動調整する(Porthole版)

(2013/04/03 16時20分 追記) IE系はこのエントリのコードでは全滅だった・・・・。しくしく。 (2013/04/03 16時50分 追記) IE9以上は動くようになった。 1.やりたいこと クロスドメインなiframeの高さを自動調整したい! 2.前提情報 通常、iframeのsrcが…

Vagrantでsandboxを利用する

Saharaはコマンドラインから仮想マシンの状態をsandboxモード(変更をいつでも巻き戻せる)に変更できるプラグインだ。これを使うことで、例えばchefのレシピ作成やミドルウェアのインストールの評価などがやりやすくなる。 http://www.ryuzee.com/contents/bl…

Vagrantを触ってみた

きっかけ Web開発にまつわる開発環境を「モダンないい感じ」にしたい!!!「モダンないい感じ」にはいろいろ含まれますが、階層的に下の方から。devops界隈も盛り上がっていることですし、お近づきになりたい! 1.前提情報 OS Windows 7 ruby ruby 1.9.3p…

jqueryを使い、ajaxでscriptタグを含む部分HTMLを取得すると、IEのみでエラーとなる

手元の再現環境 jquery 1.7.2 Windows 7 + IE 7, 8, 9, 10 前提 <html> <head> <meta charset="UTF-8"> <title>test</title> </head> <body> <div id="contents"></div> </body> </html> というHTMLがあり、#contentsの中身は以下のスクリプトによって非同期に取得する。 $(document).ready(function() { $.ajax({ url: "/get_contents", type: "GET"…