Coverage 100%への道のり 1. --coverage-htmlして現状を確認 2. time()やmt_rand()などを使うコードもテスト 3. 複雑なオブジェクトを使うコードもテスト 4. ファイルシステムを使うコードもテストRead less
![一人でゲームをリリースするための自動化 PHPUnit編 ~目指せCoverage 100%~](https://cdn-ak-scissors.b.st-hatena.com/image/square/e11143bb419753a298a6ddafddfa8b9d889de391/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Fphpkansai2013lt-130601050307-phpapp02-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)
Coverage 100%への道のり 1. --coverage-htmlして現状を確認 2. time()やmt_rand()などを使うコードもテスト 3. 複雑なオブジェクトを使うコードもテスト 4. ファイルシステムを使うコードもテストRead less
PHPのテスティングフレームワークとBDD(ビヘイビア駆動開発)について調べた。 2011/04/03 2月に北海道は定山渓温泉で行われた1泊2日のLTハッカソンLOCAL DEVELOPER DAY ’11 /Winter(以下LDD11Winter)に参加してきて気力も体力もすっかり充実してきた@remoreです。 LT大会楽しかったな。高橋さん(高橋メソッドのお方)とこいわさんのプレゼンを生で見れたのが特に勉強になりました。LOCALの皆さん、期間中は大変お世話になりありがとうございました。 充実してきているPHPのテスティングフレームワーク で、今日の記事を書こうと思ったきっかけがLDD11Winterでこんな話を小耳に挟んだことだったのでした。 ”Rubyではテスト駆動開発(TDD)の環境が充実していて、テストのことを学びたい人も集まってきているよ” 帰って調べてみると、確かにR
みなさんこんにちは。@ryuzeeです。 SlideShareを徘徊していたらPHPUnitのアンチパターン・ベストプラクティスに関する素晴らしいスライドを見つけたので内容を抜粋で紹介します。 1. テストの中で何もテストしていない class FooTest extends PHPUnit_Framework_TestCase { public function testSomething() { $foo = new Foo; $foo->doSomething(new Bar); } } こういうテスト。どこにもアサーションがなくて何もチェックしていません。 $foo->doSomethingの戻り値を検証しないならなんの意味もありません。 純粋にTDDをしていれば、テストコード作成→テスト実行でRed→プロダクションコード作成→テスト実行でGreenなのでこういうテストは登場しませ
3ヶ月前にgistに書いてtwitterでつぶやいたきりでしたが、こっちにも記載。 いくつか方法はありますが、たぶん最低限の方法で、 任意のPHPのバージョンと任意のPHPUnitのバージョンを動かす方法です。 Ubuntuの場合を中心に書きますが、Windowsとかでもフルパス指定でやれると思います。 任意のPHPをmakeまでします。(方法割愛) 任意のPHPUnitをpyrusで任意のフォルダにインストールします。 PHPUnit 3.5の場合 3.4と3.5だとezComponentへの依存がありましたが、3.6からはなくなってようです。 bin/phpunitのインクルードバスを設定しなおします。 PHPUnit 3.5の場合 set_include_path(dirname(__DIR__).'/php' . PATH_SEPARATOR . get_include_path(
5分で出来たjenkins導入ですが、PHPのプロジェクトが動かずひたすらはまりました Template for Jenkins Jobs for PHP Projectsを参考にしつつ足りていない情報があるので補完します PHPのバージョン PHP.5.2.x以上を求められるのでPHP5.3.xを入れちゃうほうが楽です(テスト環境が本番環境とバージョンが違っていいのかという問題はさておき) PHP5.3のインストール方法⇒開発環境を構築する時用のメモ Apache・PHP・MySQL | のぶろぐ 必要なpearモジュールのインストール ~~~ pear channel-discover pear.pdepend.org pear channel-discover pear.phpmd.org pear channel-discover pear.phpunit.de pear chan
はじめに この資料は「PHPでTDD&CIワークショップ」 http://atnd.org/events/16626 で @yamashiro が発表するための資料だよ。 ワークショップ参加者じゃなくても記事読むだけで完結するようには書いてあるよ。 概要としては、Jenkins を使って PHP のウンコレガシーなコードをいかに綺麗にして行くかということを説明する。 自画自賛だけど PHPMD とか PHPCPD の使い方の説明の資料としてもそこそこイケてる資料になってると思いました。まる。 この記事に書かれてることは、割とTemplate for Jenkins Jobs for PHP Projectsとかぶってるけど、プラグインを絞ってあるのと、一個一個のプラグインについて解説、また実際にエラーが起きたときにどうすればいいのか書くよ。 Java と Jenkins のインストールとJ
最近になってPHPUnitをちゃんと使ってユニットテストを書くようになってきたのですが、まだまだTipsが足りないと感じます。個人的に実践している書き方をいくつか並べてみます。 追記:最初、シェバングと書いていましたが、オプションを渡せる数が決まっていたりOSによっては動かなかったりとあまり便利でないことがわかりました。。phpunit.xmlを書いた方がいいかも。 ちょっとしたテスト → シェルスクリプト化する PHPUnitは高機能なのですが、いかんせん最初の障壁が高いと思います。とにかく気軽に書きたいなら、シェルスクリプトを作って単独ファイルで実行できるようにするといいです。 #!/bin/sh phpunit --colors *Test.php # ↑オプションを書き並べておく <?php class SampleTest extends PHPUnit_Framework_Te
PHPUnitのテストケースで書き換えた値の復帰について。 テストケースでテストを記述する際に、スーパーグローバルやクラス変数を書き換えることがあるのですが、これらの値を書き換えたまま、別のテストを実行すると書き換えられた状態でテストが実行されるので、それらの値に依存した処理があるとテストが通らないことがあります。 PHPUnitでは、そういったテストをまたがって影響を及ぼすであろう値の保存、復帰を自動で行なってくれる機能があります。 スーパーグローバル デフォルトでは、各テストメソッドを実行する前に、スーパーグローバル変数($_ENV, $_POST, $_GET, $_COOKIE, $_SERVER, $_FILES, $_REQUEST)の値をが保存されており、テストメソッド終了後にそれらの値がスーパーグローバル変数へ復帰されます。 これらの処理はsetUp()/tearDown(
The document defines a fib function that recursively calculates Fibonacci numbers and prints the 10th Fibonacci number. It then defines some unit tests for a Calculator class that test the add method by asserting the expected result. Finally, it defines some unit tests for a User class that test validating a user object.Read less
VimからPHPUnitを実行する方法をまとめました。PHPUnitをquickrunで非同期実行し、結果にグリーンレッドの色をつけるまでを紹介します。 動作確認環境 Vim7.3quickrun0.5.1vimproc5.3PHP5.3.9PHPUnit3.6.7 目次 PHPUnitのインストール quickrunのインストール vimprocのインストール quickrunの設定 テスト結果にグリーン、レッドの色をつける PHPUnitのインストール 私は下記を参考にPHPUnitをインストールしました。 http://docs.symfony.gr.jp/symfony2/contributing/code/tests.html PHPのバージョンがPHPUnitに対応しており、PEARがインストールされていればうまくいくと思います。PHPUnitがうまくインストールできない場合は
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く