下北沢で開催したPHPUnit講座の資料です。 動画などはこちら。 http://blog.candycane.jp/archives/1480
![PHPUnit でテスト駆動開発を始めよう](https://cdn-ak-scissors.b.st-hatena.com/image/square/906d6f10d8ba178d7ee947db23563aafd94b3e87/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fphpunit-120308095739-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
ここ数日 ruby をやってるんですけど、ruby といえばテストらしいので Test::Unit やら RSpec やらを調べてました。しかし僕はこれまでまともな TDD をやってこなかったので、先にテストとは何ぞや?TDD とは何ぞや?ってのを調べたりしていました。 この記事は、ずぶの TDD 素人がテストについて知り始めたまとめです。 1. きっかけは RSpec のドキュメント そもそも RSpec の↓紹介文の冒頭から意味不明に感じたんです。 FAQ:「RSpec って、要は Test::Unit でやっていることを別の書き方にしただけでは?」 この FAQ への短い答えはイエスです。 『スはスペックのス 【第 1 回】 RSpec の概要と、RSpec on Rails (モデル編)』 Rubyist Magazine えっ... じゃあ要らんやろソレ。いちいち手作業でチェック
WACATE 2011 夏に誘われたのがキッカケでソフトウェアテストを勉強しはじめて10ヵ月くらいがたちました。 先日、わんくま名古屋でソフトウェアテストの勉強法についてLTしたのですが、みなさんにいろいろ聞かれたのでここにまとめておこうと思います。 本当は1年の区切りで書こうと思ったけど、まぁいいでしょう。 追記ここから わんくまで発表したLT資料はこちらです うさみみのソフトウェアテスト勉強法 View more presentations from Kyon Mm 追記ここまで こういうのを書くときに時系列で書くべきか、コツを書くべきか悩みますね。 でも、みんなが知りたいのは僕の歴史じゃなくってコツだと思うので後者で書きます。前者はTwitterとか勉強会とかお食事とかお茶でもしているときに聞いてみてください。 以下では多くの書籍を紹介していますが、僕がこの10ヵ月で読んだ本。ってい
qUnit本体 http://dev.jquery.com/view/trunk/qunit/testrunner.js CSS http://dev.jquery.com/view/trunk/qunit/testsuite.css jquery http://jqueryjs.googlecode.com/files/jquery-1.2.6.min.js メソッド test(name, test_func) … 通常のテスト asyncTest(name, test_func) … 非同期テスト module(name) … テストのグループ化 ok(state, message) … stateがtrueならテスト通過、falseならテスト不通過 テストが正常に通過したか、関数が正常に動作しているか、などのチェック sample $(function(){ module('samp
本書は裏表紙に「中級技術者向け」と明記されている。JavaScriptの言語仕様に関して、入門したことない人や、関数型の言語に見地のない人は、パーフェクトJavaScriptやサイ本あたりで、JavaScriptの言語仕様を身につけてから、取り扱うことを推奨する。それぐらい価値のある内容に本書は仕上がっている。 そして、 正統派なTDD(テスト駆動開発)について理解したい JavaScript自身の言語的な特徴を押さえておきたい テストできるJavaScriptのコードを多く閲覧したい 実際のプロダクトに活用できるアプローチを数多く知りたい と、考えているJavaScriptを日頃から書いている人、携わっている人に、必ず読んでもらいたい1冊である。 全体を通じて、テストできるコードの特徴は何か、単体テストとテスト駆動環境の利点を享受できる優れた単体テストはどのようなものかをサンプルとともに
PHPのテスティングフレームワークとBDD(ビヘイビア駆動開発)について調べた。 2011/04/03 2月に北海道は定山渓温泉で行われた1泊2日のLTハッカソンLOCAL DEVELOPER DAY ’11 /Winter(以下LDD11Winter)に参加してきて気力も体力もすっかり充実してきた@remoreです。 LT大会楽しかったな。高橋さん(高橋メソッドのお方)とこいわさんのプレゼンを生で見れたのが特に勉強になりました。LOCALの皆さん、期間中は大変お世話になりありがとうございました。 充実してきているPHPのテスティングフレームワーク で、今日の記事を書こうと思ったきっかけがLDD11Winterでこんな話を小耳に挟んだことだったのでした。 ”Rubyではテスト駆動開発(TDD)の環境が充実していて、テストのことを学びたい人も集まってきているよ” 帰って調べてみると、確かにR
via: PHPSpec Manual (Work In Progress) – Maugrim The Reaper’s Blog RSpecのPHP版、PHPSpecのマニュアルが公開されています。 PHPSpec Reference Manual 現在はドラフトでこれから順次更新されていくようです。 RSpec自体試したことはないのですが、興味がある分野なので期待しています。 RSpecって何?な方は、Rubyist Magazineが参考になります。 技術の流れとして、以前はJava->PHPなトレンドでしたが、ここ最近はRuby->PHPとなっていますね(Cakeしかりです)。PHP独自のものが少ないのはやはり実用言語だからでしょうか。 # そんなPHP界で異彩を放つPieceFrameworkは面白い試みだと思います。;-)
11/07/07 PHPだけでコードやテストを保存したら自動でテストを実行しGrowlへ通知する環境 はじめに言っておきますが、これはリスペクトです。 コードやテストを保存したら自動でPHPUnitを実行しGrowlへ通知する環境 | Act as Professional - プロとしての行為 パクリではありません。 パクリではありません。 大事なことなので2回言いました。 上記 HIROCAST さんのブログを昨日拝見し、これはあのツールのブログを書く時が来たと思いました。 そのツールとは Stagehand_TestRunner - テスト駆動開発のためのテストランナー - Piece Framework です。 Stagehand_TestRunner は、PHP テスティングフレームワークの実行を強力にサポートするツールです。対応フレームワークは、PHPUnit
前回は具体的なWebアプリを例にして簡単なコードレビューをしました。今回からは、テストを使ったリファクタリングについて解説していきます 少し時間が空いてしまいましたが、前回は具体的なWebアプリを例にして簡単なコードレビューをしました。今回からは、そのWebアプリに対してテストを書いてリファクタリングする具体的な方法について解説していきます。 今回はまず、Ruby on Railsで人気のあるテストフレームワークの数々についてご紹介します。 最近のテストフレームワークトレンド Hamlの作者として知られるHampton Catlin氏が行った「Hampton's Third Ruby Survey, 2010」の中に、テストに関するいくつかの興味深い結果があります。好きなテストフレームワークは何ですかという質問に対する答えをグラフにすると以下の通りです。 これを見ると「ビヘイビア駆動開発(
ビヘイビア駆動開発(ビヘイビアくどうかいはつ、振舞駆動開発; behavior driven development; BDD)とは、プログラム開発手法の一種で、テスト駆動開発から派生した物である[1][2] 。 概要[編集] テスト駆動開発で記述されるテストケースは、作成したプログラムの動作が正しいかどうかを検証するために行う「テスト」である。テストであるという点は同一であるが、加えて、これから作成しようとするプログラムに期待される「振る舞い」や「制約条件」、つまり「要求仕様」に近い形で、自然言語を併記しながらテストコードを記述する。テストフレームワークのメソッド名も自然言語(英語など)に近い形をとっている。 テストコードの可読性があがる上、テストコードが要求仕様となりうる。要求仕様からテストコードを起こす際も、スムーズにコードに移行しやすい。 BDDではスペック(仕様)とテストは限りな
This guide covers built-in mechanisms in Rails for testing your application. After reading this guide, you will know: Rails testing terminology. How to write unit, functional, integration, and system tests for your application. Other popular testing approaches and plugins. 1 Why Write Tests for Your Rails Applications?Rails makes it super easy to write your tests. It starts by producing skeleton t
JavascriptのテストはXHRがネック JavaScriptを書いていると、RESTサービスを利用してXHR(XMLHttpRequest)やjQuery.ajax経由で JSONのやり取りをする処理を実装することが多い。 こういった処理は以下の理由からテストが書きにくい。 1.サーバサイドの実装状況に依存する 2.非同期処理 JavaScriptを始めたばかりの時はjsUnitを使ってテストを書いていたのだが、 この2点はいつもネックになっていた。 QUnitとmockjaxでだいたい解決する 新しいテストフレームワークをいろいろと試してみた結果、jQueryのテストフレームワークQUnitと jQueryライブラリのmockjaxを使えば自分が書く実装の大部分が解決できることがわかった。 QUnitについては色々と日本語の情報があるのだが、mockjaxについては ほとんど見られ
[追記] 2013/9/1 三年前の記事が未だに読まれているようなので、一応書いておきますが、あれから色々変わってもっと良いものも出ています。 QUnit でも別に問題はないですが、今から QUnit を使うよりは http://visionmedia.github.io/mocha/:title=mocha] とかの方が個人的にはお勧めです。とにかく、今は色々あるのでもっと別の選択肢調べて見ることを個人的にはおすすめします。別に QUnit は使わないほうが良いとは言いません。 JavaScriptのテスティングフレームワークはいろいろありますが、自分は今主にQUnitを使っているので、少し使い方をまとめて見たいと思います。 [追記]今回作成したソースを上げました。ninja.js QUnit とは QUnitはもともと、jQueryをテストするために開発されたJavaScript Un
しかだよ。 久々にajaxなお仕事に携わってjavascript(むしろjQuery)書きました。んでテストコード書きたいので調べたらJSUnitとQUnitを見つけました。QUnitはjQueryから派生したツールらしいので迷わずQUnitにしました。jQueryのテストが簡単に書けるのでいいですね。 functionのテスト テストはこんな感じ。たぶん動くよ。 //テスト対象のサンプルコード /* * px文字列を数値にする。 * sample "100px" -> 100 */ var changePxInt = function(px_str){ if('number' == typeof(px_str)){ return px_str; } var index = px_str.search("px"); if(index < 0){ return 0; } return Num
Internet Explorerの異なるバージョン(1, 1,5, 2, 3, 4, 5, 5.5, 6, 7, 8)を同時に起動して、確認ができる「Internet Explorer Collection」を紹介します。 Utilu IE Collection 同時起動できるIEのバージョンは、インストールするWindowsのバージョンによって異なります。 当環境(XP SP3+IE7)では、上記のキャプチャのようにIE1.5, 2, 3, 4, 5, 5.5, 6, 7, 8を同時起動できました。 ※元のIE7には特に影響はありませんでした。 古いバージョンが必要ない場合は、インストール時にチェックをはずせばインストールしないと思います。
ImageMagickはコマンドラインから画像を編集したり出来るライブラリですが これを使って、テスト用の画像を大量に作成する方法 作るに当たって 画像を見ただけでどの画像なのかを識別できる 簡単に画像を生成できる という事に重点をおいてみます。 ImageMagickは、convertというコマンドで実行する事が出来ます。 画像のサイズを指定するときは -size 128×128 というオプションを付けます。 画像の背景色を指定するときは xc:yellow というオプションを付けます。 yellowの部分は、RGB指定でも出来ます。 ここまでのオプションで、画像を書き出す場合 convert -size 128x128 xc:yellow test.png で画像が作成されます。 これだけだと、画像の識別が出来ないので、文字を書き込んでみます。 フォントサイズを指定するオプション -p
This document discusses using fixtures in WebTestCase tests for CakePHP applications. Fixtures allow test data to be loaded into the test database to facilitate testing. The WebTestCase functionality in CakePHP builds on SimpleTest to allow testing of forms, authentication, and other common PHP tasks by simulating browser interactions with the application via its URL. Fixtures integrate with WebTe
ControllerのテストをCakeTestCase#testActionで書こうと思ったのですが、 テストするactionの中でredirectのところを通ると本当にリダイレクトされてしまいます。 Google先生に聞いたところ、下記の記事が。 cakephp1.2でControllerをテストする際のredirectとcakeErrorアクションの取扱い この記事ではrunkitという仕組みを使って、動的に定義を書き換えているようだけど、 今回は下記な感じで app ディレクトリ内だけで対応が済む感じにしてみました。 (1) app/webroot/test.php の 98行目付近に追記 require_once CAKE_TESTS_LIB . 'test_manager.php'; の後ろ辺りに Configure::write('CAKE_ENV', 'test'); と定義
DebugBar Home > Wiki > IETester :: Browser Compatibility Check for Internet Explorer Versions from 5.5 to 11 :: ANNOUNCE: If you are an Adwords user, The IETester team is proud to announce its new tool: SunnyReports, a simple and efficient Adwords reporting tools IETester is a free (both for personal and professional usage) WebBrowser that allows you to have the rendering and javascript engines of
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く