サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
おみそ汁
piccagliani.hatenablog.com
バージョン2で入った新機能などを紹介するエントリなど書く書く詐欺をしていたら年末になってしまいました。 というか2014年、2つめのエントリ。。。。 そんな今年は ZF2 x Codeception Laravel4 x Codeception を中心にお仕事をしておりました。 社内におけるCodeceptionの実績も溜まってきましたので、その経験をもとにした、マニュアルには載っていないちょっとしたコツやTIPSを紹介したい思います。 Actorにはテンションの上がる名前をつけよう 「マニュアルには載っていない」と前置きしながらいきなりマニュアルに載っていることを。。。 バージョン1では「Guy」固定だったActor名、バージョン2からは自由に名前を決めることができます! (「FunctionalGuy」、「AcceptanceGuy」の「Guy」部分です。) 正直バージョン2の新機能で
前回のエントリの続きです。 今回は単純なアプリのテストなので、Dockerfileもテスト手順もシンプルでした。 より複雑な手順が必要となる、Seleniumを利用したWEBアプリのE2Eテストなどもこの方式でできるのかどうか、引き続き実験してみます。 ということで実験しました。 目次 前提環境 実際の手順 WEBアプリを準備する Dockerコンテナ上でWEBアプリケーションを公開する Seleniumコンテナを導入、起動する Codeception+WebDriverの設定をする テスト実行用のスクリプトを作成する Jenkinsにジョブを作成し、ビルドする 今後の課題など 前提環境 前回同様 OS Windows 8: Virtual Box 4.3.20 Vagran 1.7.2 実際の手順 1. WEBアプリを準備する Laravel4で、GET /usersするとusersテー
私が属する組織では受託開発がメインでして、サーバーやミドルウェアなどの要件を我々が自由に決定できないケースもしばしば。 基本はPHPなのですが、案件によってバージョンが異なったり、近頃ではNodeの案件なども出てきました。 長いこと「CIサーバを導入したい」と思いつつもアプリ毎にCIサーバを立ち上げるのもメンドイコスト等の関係で現実的ではないので、頭を悩ませていました。 そんな中、Dockerを使って解決している先人がいましたので、早速、試してみました。 参考サイト Dockerを使ってJenkinsのジョブごとにテスト実行環境を分離する - orangain flavor JenkinsとDockerでTravisっぽいCIサーバを育ててみている - オープンソースこねこね jenkinsでのunitテストは、dockerでクリーン環境を作って行う!! | shinofara's Blo
先日、Codeceptionが1.8にバージョンアップされました。 1.8での変更点の詳細は本家サイトを見ていただくとして、注目すべきは以下の2点。 Phalcon Framework の正式サポート Environments という概念の追加 1つ目は説明不要と思いますが、2つ目は前回のエントリ (Codeception + Selenium2) Acceptance Testに複数種類のブラウザを利用する - think it over の最後に書いた、以下の課題に対する解決策となっています。 複数種類のブラウザを利用してAcceptance Testを実行したい場合、現状では一つのSuitesにつき一種類のブラウザしか指定ができないため、複数Suitesを用意するしかないようです。 前回からの続きで言うと2つ目を取り上げるべきなのでしょうが、Phalconが楽しそうなので先にそちらを
HWIOAuthBundleを使ってSymfony2でOAuth認証を実装するの続編です。 今回はアプリ側にユーザー情報を格納するテーブルがあることを前提に、OAuth認証によって得られた情報と連携させてみます。 実現したい内容としては、以下となります。 ログイン用のリンクをクリック Google側でログイン アプリ側のユーザー情報を取得 ユーザー情報が存在すればそれを利用して認証する もしユーザー情報が存在しなければOAuth認証によって得られた情報をもとにユーザーを作成する すべてHWIOAuthBundleで実現できれば良いのですが、「ユーザー情報が存在しなければ~」はどうやらできないみたい(参考:Support connect without registration)なのでカスタマイズが必要になります。 1. Entityおよびテーブルを作成 1.1. Entityを作成 php
TLで話題になっているCodeIQでの問題と解説はこちらです。 これであなたもテスト駆動開発マスター!?和田卓人さんがテスト駆動開発問題を解答コード使いながら解説します~現在時刻が関わるテストから、テスト容易性設計を学ぶ #tdd|CodeIQ MAGAZINE 大変丁寧な解説、とても参考になりました。 ただ、参加されている方の採用したテスティングフレームワークにCodeceptionがない! 日本のPHP開発者にCodeceptionを流行らせたいワタクシとしては看過できない事態(=チャンス)です! ってことで、Codeceptionを使って書いてみました。 といいつつも、今回はCodeceptionがメインではなく、AspectMockがメイン。 AspectMockとは Codeceptionの開発者の@davertさんによる「ちょーすげー(not an ordinary)」PHP向
個人的に大注目しているPHP用のテスティングフレームワーク Codeception - BDD-style PHP testing. を試しています。 まだ日本語情報が少ないですが、以下のコードを見て一発で気に入ってしまいました。 <?php $I->am('testing framework'); $I->wantToTest('your web application'); $I->see('it works!'); Codeceptionってなに? 特徴としては、 単体テスト、機能テスト、受入テストをすべてサポートする「フルスタックな」テスティングフレームワークである 主要フレームワークのサポートが充実している BDDスタイルの文法をサポートしており、テストコードの可読性に優れる 内部ではPHPUnitを利用しており、PHPUnit形式のテストも可能 といったところでしょうか。 20
しばらくCodeceptionネタが続く予定だったのですが、Symfony2 + OAuth認証で結構はまったのでシェアしておきます。 FacebookやTwitterやGoogleなど、ソーシャルアカウントでログインする機能を作成したい場合、各ベンダーが提供しているAPIを利用することもできますが、HWIOAuthBundleは複数のリソースオーナーに対応しているので、こちらを利用することにしました。 基本的には本家のドキュメントを見ながら進めていきましたが、一筋縄ではいかない点などがあり、結構はまりました。 本家のドキュメント以外ではAdding HWIOAuthBundle to your Symfony2 project | /* diegocaprioli.com */が参考になると思います。 このエントリではGoogleを利用した単純なOAuth認証を組み込むまでの手順を追って
Vagrantを触ってみた - think it overにも書いたように、 Web開発にまつわる開発環境を「モダンないい感じ」にしたい!!! という目的でこれまでいろいろと調査・実践してきました。 その総集編を複数回に分けて取り纏めてみようと思います。 題して、 Symfony2プロジェクトをGitLabで管理してVagrantで立てたJenkinsでCIする PHPerじゃない方ごめんなさい。 当方Windowsですごめんなさい。 計画 以下を考えています。(途中で増減・見直し等あるかもしれません) [2013/05/21] 見直し:「JenkinsでCIする」を分割 イテレーション 0: 準備 タスク 0-1: 必要なソフトウェアをインストールする タスク 0-2: GitLabのアカウントを作成する イテレーション A: Symfony2でプロジェクトをはじめる タスク A-1:
必見 こわくない Git A successful Git branching model » nvie.com GitHub Flow – Scott Chacon GitHub Flow (Japanese translation) Git で日々の共同作業やリリース作業をサポートする git-daily を作りました | GREE Engineers' Blog 先人の知見 Git の疑問。トピックブランチで作業中に、master ブランチで重要な変更が加えられた。どうすればよい? - 彼女からは、おいちゃんと呼ばれています Visualized Git best practices for team: branch, merge, rebase najeira: Gitの運用ルール、フローを考えてみた najeira: Gitの運用ルール、ワークフローを考えてみた 2 第5回テック
調べても「どんぴしゃ!」な情報がなかったのでまとめておきます。 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をadd、initして、upしておきます。 事件が起きた際にロールバックできるよう、sandboxモードをonにしておくと良いでしょう。 【参考】 Vagrantを触ってみた - think it over Vagrantでsandboxを利用する - think it over また、クックブックを格納するためのディレクトリ「cookbooks」を「Vagrantfile」のある階層に作成しておきます。 3.iusリ
第5回です。 前回のおさらい イテレーション C: JenkinsをVagrantで構築する 世に公開されているcookbooksをかき集めてJenkinsを立ち上げました。 今回の内容 いよいよプロジェクトをJenkinsに設定し、CIしてみます。 いまどこ? イテレーション 0: 準備 タスク 0-1: 必要なソフトウェアをインストールする タスク 0-2: GitLabのアカウントを作成する イテレーション A: Symfony2でプロジェクトをはじめる タスク A-1: Symfony2プロジェクトを作成する タスク A-2: GitLabでソースコードを管理する タスク A-3: PHPUnitを導入する イテレーション B: Phingでプロジェクトをビルドする タスク B-1: Phingを導入する タスク B-2: PhingとPHPUnitを連携する イテレーション C:
このページを最初にブックマークしてみませんか?
『piccagliani.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く