codedungeon/phpunit-result-printer PHPUnit Pretty Result Printer mikeerickson/phpunit-pretty-result-printer whatthejeff/nyancat-phpunit-resultprinter Nyan Cat result printer for PHPUnit. whatthejeff/nyancat-phpunit-resultprinter diablomedia/phpunit-pretty-printer A PHPUnit result printer that shows per-file test progress and execution times. Default output: Debug output showing time to run: diablo
Laravelで画像アップロード処理を実装したいのですが、 フロント側まだ作ってないので、テストを作って裏側だけで画像アップロードの挙動を確認したのでその流れを残しておきます。 テスト作成 class ImageUploadTest extends TestCase { public function testUploadImage() { //フェイクディスクの作成 //storage/framework/testing/disks/designに保存用ディスクが作成される //(指定しなければdesignではなくlocalフォルダが保存用に使用される) Storage::fake('design'); // テスト後ファイルは削除される // Storage::persistentFake('design'); テスト後も画像ファイルが残る // 画像アップロード用サービスクラス作成(
PHPUnit + DBUnitでMySQLのテストを行う Published: 2016年4月10日 by tomsato 概要 PHPUnitとDBUnitを使ってMySQLのテストを行う(Oracleのテストもできる) テスト用のMySQLを用意してPHPUni+DBUnitでinsert,updateなどのテストを行って その後に意図したデータになっているか確認をすることができる テストの流れ データベースのテストは次の4段階に分けて考える必要がある Gerard Meszaros は、著書 xUnit Test Patterns でユニットテストを次の四段階に分類しています。 フィクスチャとはアプリケーションやデータベースの初期状態のこと、テストを実行する前に用意する 環境の準備 MySQLのインストール $ sudo yum -y install http://dev.mysq
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? PHPUNITのテストメソッド実行前後の処理まとめ 概要 PHPer界隈からも割と敬遠されがちなPHPUNIT。 ただでさえ書くのが面倒なテストですが、僕は毎回PHPUnit_Framework_TestCaseが覚えられずにぐぐってしまいます・・・ DB関連やリクエスト関連のテストで良く使うのが、前処理・後処理等の下処理。 setUpとtearDownを主に使いますが、実は他にも色々な下処理やフック処理が出来たりします。 一応PHPUNITマニュアルにもあるのですが、特に僕含むPHPUNIT初心者の方の為にざっくりとまとめてみました。
数年ぶりにWordPressを触ることになり、色々覚え書きがてら書いていきます。 基本的にWordPressの人ではないです。 テストをするだけでなく、プラグイン内の関数を直接起動して開発したくてPHPUnitを導入することにしました。 フック使えよとか、まあそうなんですがフックの数多すぎでよくわからんのです。 動作させている環境ですが、OSX上のVagrantにCentOSを乗っけて、その中でDockerを使ってUbuntu環境でWPを動かしています。 ですので、ファイルのパーミッションとか実行するユーザーなどは少し変です。 WP-CLIのインストールWPの便利ツールです。CLI大好き派としては大変ありがたいです。インストールは全くもって簡単です。 http://wp-cli.org に書いてあるようにダウンロードしてパスの通っている場所へ移動させるだけです。 これを使ってphpunit
初級者・中級者向けのユニットテストのサンプルは、 どんな言語を対象としたものであっても、 テストしやすいようなロジックに対してシンプルなテストをしているものばかりです。 データベースを扱う一般的なアプリケーションを考えると、これはまったく現実離れしています。 たとえば WordPress や TYPO3、あるいは Symfony で Doctrine や Propel などを使い始めるとすぐに、 PHPUnit でのテストがやりづらいことを実感するはずです。 データベースとこれらのライブラリが密結合になっているからです。 注記 PHP の pdo 拡張モジュール、そしてデータベースごとの拡張モジュール (pdo_mysql など) がインストールされていることを確認しておきましょう。 これらがインストールされていないと、以下のサンプルは動きません。
はじめに PHPUnitにはコードカバレッジ解析の機能があります。 このカバレッジの出力には、かなり時間がかかります。 チームメンバーからCIのテストが遅いので何とかしてほしいと、issuesがあがってきたので、スピード改善できないか検討し、最終的には並列実行することで、大幅に改善することができましたので、紹介します。 コードカバレッジの出力 カバレッジを出力するには、phpunitコマンド実行時のオプションに--coverage-*を指定します。 phpunitのヘルプに詳しい説明があります。 $ bin/phpunit --help PHPUnit 4.8.6 by Sebastian Bergmann and contributors. Usage: phpunit [options] UnitTest [UnitTest.php] phpunit [options] <direct
PHPUnitでMockeryを使う場合の最低限のメモ。 Mockeryとはなんぞや? Mockを作るためのツール。要は、存在しないClassを代替してテストを進めるためのツールと思ってよい。 下記のようなコードがある場合、どうぜんHogeClassが存在することが前提となる。 が、大きなプロジェクト等で「まだHogeClassが無い!」などという場合でもある程度テストを進めておける。 //インスタンス生成 $m = new Hoge('foo'); //メソッドを実行 $m->Hello('foo'); //assertの中で使う $this->assertEquals("Hello foo",$m->Hello('foo'));
ほとんど本家の記事の意訳に近いですが、Intellijからdocker上のphpでphpunitを動かす設定をしてみました。 本家の記事: https://blog.jetbrains.com/phpstorm/2016/11/docker-remote-interpreters/ 環境 IntelliJ IDEA 2017.1.4 PHP Docker pluginをインストール 手元で確認はしていないですが、元訳がPhpStormなので、PhpStormでも同じかと思います。 Remote Interpreterの設定 Preferences -> Languages & Frameworks -> PHPを開きます CLI Interpreterの[…] ボタンをクリックします CLI Interpretersの画面が開くので左上の[+]をクリックし[From Docker, Vag
class TwitterClient { public function tweet($message) { return true; } } $hoge = new TwitterClient(); $hoge->tweet('大心なう'); // trueが返る class ClientContainerTest extends PHPUnit_Framework_TestCase { public function test_モックを書いてみる() { $hoge = $this->getMock('TwitterClient', array('tweet')); $hoge->expects($this->any()) ->method('tweet') ->will($this->returnValue(true)); $hoge->tweet('大心なう'); // true
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 コマンドラインツールはその経過を示す文字を出力します。 . テストが成
概要 PHP で PHPUnit のテストがうまく通らず、PHPStorm でステップ実行したくなることがたまにあります。 しかしながら、PHPStorm の PHP Remote Debug はブラウザ経由でないと、動きません。 と、思っていましたが PHPStorm でやれる方法が判ったので設定方法を共有します。 なので、無理やり画面を作って、PHPUnit を実行する方法を取ったら、まあ上手くいったので覚書ついでに共有してみます。 (2016--216 k-hottaさんからの指摘でさらに良い方法にたどり着いたので修正しました。) さらに良い方法をご存知の方がいらっしゃいましたら是非コメントください。 前提環境 PHPStorm を使っている。 vagrant を使っており、 php はゲストサーバ側にある。 (つまりリモートデバッグは可能。) テストしたい部分には Web 経由で表
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く