2013-01-01から1年間の記事一覧

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"…

【ニコニコカレンダー for Redmine 2.X】 本家のPlugins Directoryに登録してみた

本家に登録してみた。 Niko-niko Calendar plugin for Redmine 2.X - Plugins - Redmine実はこういうのは初めての経験なので、内心ドキドキ、ヒヤヒヤしています。よろしければ、どうぞ。 これまでの歩み 【ニコニコカレンダー for Redmine 2.X】 初日 - thi…

【ニコニコカレンダー for Redmine 2.X】 公開!

公開しました。piccagliani/redmine_nikoniko_calendar2 · GitHubRedmineバージョン1系のプラグインを作られた方は、プラグイン自体の設定だったり、データの保持期間の設定だったり、いろいろ考えられて作ってらっしゃいますが、そこらへんは今後に期待、…

【ニコニコカレンダー for Redmine 2.X】 5日目

うわぁ、本業が忙しい。さて、しばらく離れていた間に、なんと、このブログを呟いてくださっている方がいらっしゃいました!!大変有り難いことです。亀のようにのろいペースですが、 月の切り替えできるようにしないと! メンバーのロールによって絞り込め…

はじめてRailsアプリをHerokuにデプロイしたときに大きくつまった2点

そんな暇あったら、ニコニコカレンダーを進めろよ、と思うのですが、 せっかくなので、Railsの勉強もしたい!!Windows環境で、Railsアプリを作って、Herokuにデプロイするところまで、Learn Web Development with the Ruby on Rails Tutorialを教科書にして…

sphinxでtsv-tableできなかった!(後編)

sphinxでtsv-tableできなかった!(前編) - think it overで、csv-tableと同等の機能を持つtsv-tableの作成までできました。 後編では断念するまでの経緯をまとめておこうかと。 csv-tableの実装を確認 前編でも触れましたが、 /usr/lib/python2.7/site-pac…

サブディレクトリでSymfonyを運用する際のjs, cssのパス

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…