Selenium RCをインストール。 PHPUnitをインストール。 PHPUnit_Seleniumをインストール。 % pear install phpunit/PHPUnit_Selenium testを書く(ファイル名はクラスと同じCamelCase) test/integrations/LoginTest.php <?php require_once 'PHPUnit/Extensions/SeleniumTestCase.php'; class LoginTest extends PHPUnit_Extensions_SeleniumTestCase { protected function setUp() { $this->setBrowser('*firefox'); $this->setBrowserUrl('http://foo/'); } public functi
先週になりますが、MakeGoodのメジャーアップデートとなるバージョン2.0.0をリリースしました。具体的な変更点はリリースノートをご覧いただくとして、本記事では改めてMakeGoodについて簡単に解説したいと思います。 MakeGoodとは? MakeGoodは継続的テスト(Continuous Testing)と呼ばれるプラクティスに基づいたユニットテスト実行環境であり、Eclipse PDT上で動作します。MakeGoodの中心にあるテーマは素早いフィードバックです。それは主にファイル保存時のテストの実行と失敗・エラー・致命的なエラーの自動的な追跡による、テスト実行ワークフローの自動化として表現されています。ここでいうテスト実行ワークフローとは以下のようなものです。 テスト実行ワークフローテストの実行を準備する。テストを実行する。結果の確認する。失敗箇所を特定する。エディタを開く。
この記事は TDD Advent Calendar jp: 2011 の 14 日目です. 前日: TDD戦略 -TDDを導入し進化させる方法- #TDDAdventJP (@kyon_mm さん) 翌日: TDDに対して思っていること (@gab_km さん) この記事の概要 TDD で開発することで設計上の問題点に気づきやすくなる Singleton はグローバル変数である Singleton の使用はできる限り避けるべきである テスタビリティを意識しよう TDD では, 原則としてユニットテストを書いてから実際のコードを実装します. なので, 自然と「テストのしやすさ (テスタビリティ)」を意識して実装することになります. そして, TDD においては一般的に, テスタビリティを意識することで, 設計が改善されるとされています. オブジェクト指向には難しい概念がたくさん登場します.
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
PHPのテストライブラリとしては一番有名どころのPHPUnitと実際のブラウザをJavaScriptを使って画面遷移をテストすることができるSelenium RCを使って実際に結合テストを行ってみたので今回紹介したいと思います。 PHPUnit PHPUnitはPHPの一番有名なテストライブラリです。テストケースを用意することで仕様変更にも強いアプリケーション開発が可能になります。 さまざまなことができるPHPUnitですが、PHPUnitだけでは画面遷移のような機能テストは難しいものです。 なぜなら、PHPだけで画面遷移を確認するためにはブラウザの動きをシミュレーションしたライブラリを使ったりしてテストする方法になってしまうからです。 たとえばsymfony1系ではsfTestBrowserというライブラリが用意されていてこのライブラリを利用することでテストが行えるようになっていますが、
この記事はCakePHP1.2系またら1.3系を対象としており、CakePHP2.0系では別のアプローチになります。 不思議なことにCakePHPアプリの開発でHudson使って継続的インテグレーションしている事例をほとんど見たことがないんだけど、個人的にはPHPアプリだって全部HudsonでCIすべきと思っているのでやってみた。 (ちなみに最近までphpUnderControlでCIしていた) 概略 CakePHPアプリでCIやろうとして問題になるのは、 CakePHPでのテストライブラリがSimpleTestでありJUnit互換のテスト結果を出力できないこと さらにSimpleTestでは一応XMLでの結果出力ができるのに、CakePHPのreporterにcake_xml_reporterとかが無くて、html出力かテキスト出力しかできない という2点にあるので、この2点をクリアする
前回挙げたチュートリアルはやってみましたか? 快適なテストライフを送ってますか? テストケースをたくさん書いていると気づくのは、フィクスチャがメンテナンスの邪魔をするということ。 フィクスチャに初期データを定義すると、それを気にしながらテストケースを作ることになります。 これがとても面倒くさいんです。 これを解消すべく、今日はモックを使ったテストケースの書き方を紹介します。 モックとは SimpleTestのモックで参考になるのは、以下の書籍です。 Webアプリケーションテスト手法 著者: 水野 貴明 (著), 石井 勇一 (著), 新藤 愛大 (著), 岸田 健一郎 (著), 荻野 淳也 (著), 安井 力 (著), 田中 慎司 (著) 出版社: 毎日コミュニケーションズ 発売日: 2008/7/25 この書籍のp154にモックについて以下のように書いてあります。 モックを使うと
php用のHudsonの設定と言えば、 HudsonでPHPのユニットテスト http://d.hatena.ne.jp/ssogabe/20081102/1225642743 の記事があったりしますが、こちらで紹介されてる設定をそのままコピペしたとしても 近頃(すくなくとも今年4月以降)のhudsonだとパスがうまくいかなかったりします(うろおぼえ) なので、Phingプラグインを使う場合は、ビルドパスとか以下の感じにすると動くと思います。 というか、最近だったらSebastian Bergmann純正のテンプレートにそうのがトレンディーじゃないでしょうかね http://github.com/sebastianbergmann/php-hudson-template あ、PEAR的にはCruise Control&PHPUnderControlがナウでヤングですよ http://wik
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く