Zend_Test_PHPUnit は MVC アプリケーション向けのテストケースを用意します。 さまざまな責務に対応したテスト用のアサーションが含まれています。 実際に何ができるのかを知るには、 サンプルを見ていただくのが一番でしょう。
Zend_Test_PHPUnit は MVC アプリケーション向けのテストケースを用意します。 さまざまな責務に対応したテスト用のアサーションが含まれています。 実際に何ができるのかを知るには、 サンプルを見ていただくのが一番でしょう。
1. 自動テスト2. PHPUnit の目標3. PHPUnit のインストールRequirementsPHP Archive (PHAR)PHPUnit の PHAR リリースの検証Composerオプションのパッケージアップグレード4. PHPUnit 用のテストの書き方テストの依存性データプロバイダ例外のテストPHP のエラーのテスト出力内容のテストアサーションassertArrayHasKey()assertClassHasAttribute()assertClassHasStaticAttribute()assertContains()assertContainsOnly()assertContainsOnlyInstancesOf()assertCount()assertEmpty()assertEqualXMLStructure()assertEquals()assertFa
So how do you check that your applications sends email correctly? It looks like dealing with emails is always a challenge. How would you verify that an email message is formatted and delivered correctly, without actually sending them to your clients? That’s the first question. And the second question is: how can we automate the testing of emails? For both questions we have an answer. There are two
Welcome to PHPUnit! PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.
PHP向けテストフレームワークのPHPUnit開発チームは2月8日、最新安定版となる「PHPUnit 6.0」を発表した。対応するPHPのバージョンは7.0および7.1で、PHP 5.6はサポート対象外となった。 PHPUnitはxUnitアーキテクチャを土台としたユニットテストフレームワーク。PHPUnit 6.0は2016年1月に公開されたPHPUnit 5.0に続くメジャーリリースで、2019年2月8日までサポートされる。5系の最新版は2016年12月に公開されたバージョン5.7。5.7は2018年2月2日までサポートされる。最新版リリースに合わせて、PHPUnit 4.8はサポート終了(EoL)となった。 PHPUnit 6.0では、PHP 5.6がサポート対象外となり、PHPはバージョン7と7.1をサポートする。PHPUnit_Framework_TestCaseがPHPUnit
Bitbucket + Werckerを使ってプライベートリポジトリで無料CI(PHPUnit, MySQL)PHPMySQLBitbucketCIwercker PHPでWebアプリを作っています. ケチなので全部タダでやりたくてbitbucketを使っています. 今回,CIをやりたくなったのでタダでできるCIサービスを探したらWerckerが良さそうとのことだったので使ってみました. PHP用の情報が少なくて苦労しました(最新版の公式ドキュメントの言語別ページにはそもそもphpが無かった). 構成 メインのアプリはprivateで開発したいのでbitbucketのプライベートリポジトリを使いつつ, 一部のコードをライブラリ化してgithubで公開しています. なので, メインのリポジトリはBitbucketのプライベートリポジトリ submoduleとしてgithubのパブリックリポジ
FuelPHPをRocketeerで自動デプロイしてみる。マイグレーションとPHPUnitも実行してみる。 2014/1/25 追記: 先日、Rocketeerのバージョンが1.0.0になりました。当記事の内容は、それよりも古いバージョンで確認しています。当記事記載のサンプルレポジトリは対応済みです。詳しはそちらのコミットログを御覧ください。 -- FuelPHP Advent Calendar 2013 21日目です。@madmamor が担当します。昨日は @Altsencturely さんの「FuelPHPとFluentdの連携」でした。 今日は、PHP製デプロイツール「Rocketeer」を使って、FuelPHPをコマンド一つでデプロイしてみます。デプロイする最中に、PHPUnitやマイグレーションも実行してみます。 Rocketeer公式ドキュメント: http://rocket
<?php class PickSlowListener extends PHPUnit_Framework_BaseTestListener { private $test_start_time; private $test_time_results = array(); private $rank_limit; public function __construct($rank_limit) { $this->rank_limit = $rank_limit; } public function startTestSuite(PHPUnit_Framework_TestSuite $suite) { $this->test_start_time = microtime(true); } public function endTestSuite(PHPUnit_Framework_Tes
概要 PHPUnit がバージョン上がって追加された新機能、使いこなしてないことが多いように思えましたので、各バージョンで何が増え、何が変わったのか、リリースノートから抽出して、特に美味しそうな項目をまとめて、簡単に解説してみます(多いので勝手ながら、使えそうなものを選んでます)。 PHPUnit 4.0.0 新機能 テストプロキシ : 元のクラスのメソッドを模倣(そのまま呼ぶ?)してくれるモック。 willReturn*() : will($this->returnValue($value)) が willReturn($value) と書けるように。他にも willReturn シリーズが各種用意されている。 下位互換の問題 static のモック/スタブのサポートが限定的に。今後は、同じクラスの別メソッドから呼ばれるときしか機能しない。 PHPUnit 4.1.0 新機能 マッチャ
Welcome to PHPUnit! PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.
この作品は、Creative Commons Attribution License の下でライセンスされています。このライセンスの内容を確認するには、http://creativecommons.org/licenses/by/2.0/ を訪問するか、あるいは Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA に手紙を送ってください。
ちょっくら環境として使う可能性が出てきたので、最低限の準備の過程をメモ。ちなみにPHP環境はベースとして以下の書籍を参考にしています。 パーフェクトPHP (PERFECT SERIES 3) 作者: 小川雄大,柄沢聡太郎,橋口誠出版社/メーカー: 技術評論社発売日: 2010/11/12メディア: 大型本購入: 32人 クリック: 1,065回この商品を含むブログ (59件) を見る XAMPPのインストール 以下のサイトにアクセスし、インストーラを入手。(xampp-win32-1.7.7-VC9-installer.exe, 80.9MB) apache friends - xampp for windows 管理者で起動。後はデフォルト指定のままひたすら進めて完了。インストールパスは『C:\xampp』とした。 稼働諸設定 『C:\xampp\apache\conf\extra\h
前提としてxampp使っていること。 しかも簡単インストールのlite版。 ●下準備 コマンドベースでpearアップデート。 プログラム→xampp→XamppShell xamppコンパネ→shell(右側のボタン一番上) 立ち上げたら以下コマンドでアップデート pear channel-update pear.php.net pear upgrade pear http://www.phpunit.de/wiki/Requirements ここで必要だといわれるpearを入れておく。 pear install Image_GraphViz pear install Log 次はxdebugの準備。 http://www.xdebug.org/find-binary.php ここに言ってphpinfo()の情報を貼り付ける。 ホントに画面に出たのをctrl+Aで選択、それをコピーして張り
<?php class API_Test_Skeleton extends PHPUnit_Framework_TestCase { private $test_domain = "api-test.localhost"; private $test_url = "/path/to/test_api_root/"; /* * Post Helper * Thanks * http://www.programming-magic.com/20080226023511/ * and http://abbadabba.coolk2.com/212/ */ private function do_post_request($url,$value) { $headers = array('Content-Type: application/x-www-form-urlencoded','Conten
やっと忙しい時期がある程度落ち着いたので 久々の更新です。 もちろんコードも書いていますが やはり運用をしていくうえで必要なのがテストです。 これは初めすごく面倒なのですが、一度やってしまうと テストなしではコードが書けなくなります。 自分も最初これを言われた時には何を言ってんだ。。。 と思ったのですが、いざやってみるとまさに・・・ 特に今回は有名フレームワークではなく、 MonobitエンジンにおけるMWFフレームワークという 独自フレームワークに近いものにインストールしていきます。 さて導入から躓いた場所、解決策を書いていきます。 インストールはComposerで行います。 { "require-dev": { "phpunit/phpunit": "3.7.*", "phpunit/dbunit": ">=1.3,<1.4", "phpunit/phpunit-skeleton-ge
@HIROCASTさんが書いた記事「コードやテストを保存したら自動でPHPUnitを実行しGrowlへ通知する環境」に感銘を受けました。 僕が使用しているUbuntuでも同じように通知する環境を用意します。 まずUbuntuでGrowlのように通知を表示してくれるnotify-sendをインストールします。 sudo apt-get install libnotify-bin次にhttps://github.com/mynyml/watchrを参考にしつつwatchrをインストールします。 sudo gem install watchr sudo gem install revこのままだとwatchrにパスが通っていないので、.bashrcなどにパスを追加するように設定しておきます。 PATH="/var/lib/gems/1.8/bin:$PATH"設定した内容を反映させて、watchr
Previously, we demonstrated using Selenium with PHPUnit and used a user subscription form example throughout the article. In this one, we are going to explore Facebook’s webdriver package for emulating a browser. It is recommended you go through the previous article first, as it covers some basic concepts mentioned in this one, and sets up the sample application for you. Let’s get started. Faceboo
どんなにすぐれたプログラマも、間違いを犯します。 よいプログラマとそうでないプログラマの違いは、 よいプログラマはテストを行って間違いをできるだけ早く発見してしまうことです。 テストをするのが早ければ早いほど間違いを発見しやすくなり、 またそれを修正しやすくなります。 リリース直前までテストを先延ばしにしておくことが非常に問題であるのはこのためです。 そんなことをすると、すべてのエラーを発見しきることができず、 発見したエラーを修正することも非常に難しくなります。結局は、 トリアージを行ってどのエラーに対応するかを判断しなければならなくなります。 なぜならすべてのエラーを完全に修正することは不可能だからです。 PHPUnit を使用したテストは、全体としてはあなたがこれまでに行ってきたことと同じです。 ただ、そのやり方が違うだけです。それは、テスト つまりあなたのプログラムが期待通りにふる
Phing (PHing Is Not GNU make) は、Apache Ant をもとにしてつくられたプロジェクトビルドシステムです。 PHP の世界ではソースファイルをビルドしたりコンパイルしたりする必要はありません。 Phing が意図しているのは、パッケージの作成や配布、 そしてアプリケーションのテストを容易にすることです。 これらの作業を行うために、Phing には多くの独創的な操作モジュール ("タスク") が用意されており、 また独自のタスクを追加しやすいようにオブジェクト指向のモデルが提供されています。 Phing は PEAR インストーラでインストールできます。 コマンドラインで以下のように入力してください。 pear channel-discover pear.phing.info pear install phing/phing Phing ではシンプルな XM
タイトル長くてすみません。 PHP5.2.10+PHPUnit3.3.17で、setcookie関数を呼び出すクラスをテストすると、何ともつれないメッセージが。。。 $ phpunit AClassTest.php NULL PHPUnit 3.3.17 by Sebastian Bergmann. E..... Time: 3 seconds There was 1 error: 1) testNormal(AClassTest) Cannot modify header information - headers already sent by (output started at /usr/local/lib/php/PHPUnit/Util/Printer.php:96) /path/to/AClass.class.php:118 /path/to/AClass.class.php
概要 PHPer界隈からも割と敬遠されがちなPHPUNIT。 ただでさえ書くのが面倒なテストですが、僕は毎回PHPUnit_Framework_TestCaseが覚えられずにぐぐってしまいます・・・ DB関連やリクエスト関連のテストで良く使うのが、前処理・後処理等の下処理。 setUpとtearDownを主に使いますが、実は他にも色々な下処理やフック処理が出来たりします。 一応PHPUNITマニュアルにもあるのですが、特に僕含むPHPUNIT初心者の方の為にざっくりとまとめてみました。 メソッド名の手前に(static)がある場合、public static ~~でメソッドを追加しましょう。 一覧 各テストメソッド毎に実行 setUp 各テストメソッドの実行前に呼ばれるメソッド。 テストメソッド毎に同じ環境を用意し、メソッド内で動的に変化させて追従したい場合に便利。 (利用例)モック用オブ
There are two styles of testing: "black box" and "white box" styles. Black box testing focuses on the object's state; whereas, white box testing focuses on behavior. The two styles complement each other and can be combined to thoroughly test code. Mocking allows us to test behavior, and this tutorial combines the mocking concept with TDD to build an example class that uses several other components
CUI な Git ブラウザ tig を入れてみた (Born Too Late) [git][scm][tig] tig を使ってみた (do_akiの徒然想記) Twitter Trackbacks () とべとべ夏祭り2010電設部に参加した #tobesetu (key-cc) EC-CUBE LC_Page::sendRedirect()に引数を渡せない (弱小PHPerの憂鬱) [densetu][勉強会][学校]電設部IT勉強会#3やりますた(随時追記 (学内IT勉強会のススメ - atcorp) 電設部IT勉強会#3に参加したっ! (Curious) GLT #24 (懇親会)に乱入してきた! (Curious) GLT (Genesis Lightning Talks) Vol.24に参加しました (key-cc) GLT (Genesis Lightning Talks
PhpStorm 7 が PHPUnit 4 をサポートしていなかったので少し前まで PHPUnit は 3.7 を使っていましたが、9 月に PhpStorm 8 がリリースされ、PHPUnit 4 も動作するようになったので、そろそろ使っていこうかと思います。 なお、PhpStorm 7 で PHPUnit 4 が使えなかったのは次の理由だそうです。 PHPUnit マニュアル – 付録D アップグレード PHPUnit_Framework_TestListener インターフェイスに addRiskyTest() が追加されました。 PHPUnit_Framework_TestListener インターフェイスを実装するクラスは、新たにこのメソッドを実装する必要があります。 たとえば PHPStorm 7 で PHPUnit 4 が使えないのは、これが原因です。 PHPUnit 3.
How to install PEAR, PHPUnit, and XDebug on Mac OS X 10.6 Snow Leopard I use Mac OS X 10.6 Snow Leopard on my Apple Macbook — my primary web development machine. By default, Mac OS X 10.6 includes PHP 5.3.0 and Apache 2.2.11. Unfortunately, a default Mac OS X 10.6 install does not include more advanced tools for testing and debugging PHP applications. This tutorial demonstrates how to install PEAR
PHPUnit のアサーションの実装は、PHPUnit\Framework\Assert およびそれを継承した PHPUnit\Framework\TestCase にあります。 アサーションメソッドは static 宣言されていて、あらゆるコンテキストから PHPUnit\Framework\Assert::assertTrue() などのように使えます。 また、PHPUnit\Framework\TestCase を継承したクラスの中では $this->assertTrue() や self::assertTrue() などとしても使えます。 さらに、PHPUnit に含まれるファイル src/Framework/Assert/Functions.php を (手動で) インクルードしてしまえば、グローバルなラッパー関数 assertTrue() などを使うことさえできてしまいます。こ
PHPプロジェクトのテスト PHPのテストによく使われているのはPHPUnitとPHPSpecです。基本的にPHPUnitはすべてのテストをカバーできますが、自分はPHPSpecを優先にして、PHPUnitがバックアップっていう感じで使ってます。PHPSpecはオブジェクトの挙動を検証するには得意だが、サイトのリスポンスなどのテストはちょっと苦手です。 Laravel5のテスト LaravelではすでにUnitテスト実装済みです。PHPUnitについては公式サイトを参考してください: http://laravel.com/docs/5.0/testing PHPSpecを使う LaravelのEloquentモデルはちょっと特殊で、PHPSpecを使うには面倒なセッティングが必要なので、phpspec-laravelを使うのをおすすめします: https://github.com/BenC
概要 PHP で PHPUnit のテストがうまく通らず、PHPStorm でステップ実行したくなることがたまにあります。 しかしながら、PHPStorm の PHP Remote Debug はブラウザ経由でないと、動きません。 と、思っていましたが PHPStorm でやれる方法が判ったので設定方法を共有します。 なので、無理やり画面を作って、PHPUnit を実行する方法を取ったら、まあ上手くいったので覚書ついでに共有してみます。 (2016--216 k-hottaさんからの指摘でさらに良い方法にたどり着いたので修正しました。) さらに良い方法をご存知の方がいらっしゃいましたら是非コメントください。 前提環境 PHPStorm を使っている。 vagrant を使っており、 php はゲストサーバ側にある。 (つまりリモートデバッグは可能。) テストしたい部分には Web 経由で表
Welcome to PHPUnit! PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.
phpunit コマンドを実行すると、PHPUnit のコマンドライン版テストランナーが起動します。 コマンドラインのテストランナーを使用したテストの様子を以下に示します。 phpunit ArrayTest PHPUnit 6.5.0 by Sebastian Bergmann and contributors. .. Time: 0 seconds OK (2 tests, 2 assertions) このように実行すると、PHPUnit のコマンドラインテストランナーは、 まず現在の作業ディレクトリにあるソースファイル ArrayTest.php を探してそれを読み込み、テストケースクラス ArrayTest を探します。 そして、そのクラス内のテストを実行します。 テストがひとつ実行されるたびに、PHPUnit コマンドラインツールはその経過を示す文字を出力します。 . テストが成
src/ A/ Hoge.php B/ Fuga.php tests/ A/ HogeTest.php B/ FugaTest.php bootstrap.php composer.json phpunit.xml.dist merge-coverage.php merge-coverage.php の内容は後述します、その他のファイルはよくある普通の内容です。 テストを複数回に分けて実行します。このとき、phpunit のオプションで --coverage-php を指定します。 $ rm -fr build/coverage $ mkdir -p build/coverage $ vendor/bin/phpunit --coverage-php build/coverage/A.txt tests/A $ vendor/bin/phpunit --coverage-php build
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く