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
はじめに ブレークポイントが使いたいだけの人生だった。 Xdebug入りのコンテナイメージ準備 公式のphp:7.1-apache をベースに下記のDockerfileを用意 FROM php:7.1-apache RUN pecl install xdebug-2.7.0alpha1 RUN docker-php-ext-enable xdebug RUN echo 'xdebug.remote_enable = 1\n\ xdebug.idekey = "PHPSTORM"\n\ xdebug.remote_host = [ローカルPCのIP]\n\ xdebug.remote_autostart = 1\n\ xdebug.remote_connect_back = 0' >> /usr/local/etc/php/php.ini
Laravelで画像アップロード処理を実装したいのですが、 フロント側まだ作ってないので、テストを作って裏側だけで画像アップロードの挙動を確認したのでその流れを残しておきます。 テスト作成 class ImageUploadTest extends TestCase { public function testUploadImage() { //フェイクディスクの作成 //storage/framework/testing/disks/designに保存用ディスクが作成される //(指定しなければdesignではなくlocalフォルダが保存用に使用される) Storage::fake('design'); // テスト後ファイルは削除される // Storage::persistentFake('design'); テスト後も画像ファイルが残る // 画像アップロード用サービスクラス作成(
結論 https://qiita.com/t_n/items/203cd3593427a35f7ed7 のように、 shell の if 〜 then 〜 fi を使う。 ただし、記事にある通りで、 これはするべきではないです と思います。が、今の所、この方法しか思いつかなかった。。というメモ。 具体例: # ..snip.. COPY ./docker/workspace/usr/local/etc/php/conf.d/xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini RUN if [ "${PHP_XDEBUG_INSTALL}" = "true" ]; then pecl install xdebug ;fi RUN if [ ! "${PHP_XDEBUG_INSTALL}" = "true" ]; then rm -rf /usr/
php 7.2 Laravel 5.4 Homestead 6.1.0 (Vagrant経由で起動) Windows10(Homesteadとの共有フォルダを作成してWindows上でソースを編集している) PhpStorm 182.3911.43 xdebug 2.6.0 やりたい事 PhpStormからPHPUnitをデバッグ実行したい (ブレークポイントで停止させたい) 手順 1. Homestead上でxdebugの設定を行う /etc/php/7.2/mods-available/xdebug.iniを以下の通り編集する zend_extension=xdebug.so xdebug.remote_enable = 1 xdebug.remote_connect_back = 1 xdebug.remote_port = 9000 xdebug.max_nesting_level
Xdebugによるデバッグの仕組み PHPアプリのデバッグ実行には、Xdebug というPHP拡張を利用します。 Xdebug PHP ランタイムに組み込まれたXdebugとデバッガが通信することにより、リモートデバッグが実行されます。 PHPアプリとデバッガを両方ともホストOSで起動していれば、特別な設定をしなくても通信が成立して問題なくデバッグできます。 PHPアプリをゲストOSで実行する場合、通信先のデバッガが localhost にないので、通信に失敗します。 解決策 要するに、XdebugがホストOSのデバッガと通信できるよう、Xdebugを設定すればいいわけです。 方法は2つあります。 方法1: xdebug.remote_connect_back を有効にする Xdebug の設定ファイル (xdebug.ini) で、xdebug.remote_connect_back を
Docker for Mac/Windowsで動作しているPHPアプリを、VS Codeからデバッグする方法です。 Docker for Mac/Windowsで起動したコンテナでは、host.docker.internalというDNS名で、ホストのIPアドレスを引くことができるようになっています。 Networking features in Docker for Mac Networking features in Docker for Windows Xdebug の設定のxdebug.remote_hostに、この値を指定することで、コンテナ内のPHPとデバッガが通信できるようになります。 xdebug.default_enable = 1 xdebug.remote_autostart = 1 xdebug.remote_connect_back = 0 xdebug.remot
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初心者の方の為にざっくりとまとめてみました。
できそうでできなくて苦労したのでメモ。 環境 PHP:7.0.9 Xdebug:2.4.1 PHPStorm:2016.2.2 前提 Vagrantの仮想環境にApache、PHP、Xdebugはインストール済み Vagrant(の仮想環境) CentOSで試しましたが、特にOS依存はないです、たぶん。 php.ini Xdebug用の設定値を追記します。他にも設定値がありますが、とりあえず動けばいいや的な。 [xdebug] zend_extension=/opt/remi/php70/root/usr/lib64/php/modules/xdebug.so ; Xdebugモジュールのパス xdebug.remote_enable=On xdebug.remote_autostart=On xdebug.remote_host=192.168.33.1 ;デバッグ接続するPCのIPアド
【追記】2018/04/12(木) 1.22.1 のバージョンアップでふと確認した所、 stopOnEntry を指定しなくてもちゃんと止まるようになっていました。 この記事を書いた際のバージョンが 1.20.1 で、こちらでも再度試したらちゃんとブレークポイントを設定した所で止まりましたので、何か他に原因があったのかもしれません。 結論 "stopOnEntry": trueを加えたら止まるようになりました。 原因 よくわかりません。 これまで、Visual Studio Codeでデバッグしたことは無く、設定なども見よう見まねでやっていたのですが、どうしてもうまく行かず、PHP Debug - Visual Studio MarketplaceのSupported launch.json settings:を見ていたところ、stopOnEntryの記述があり、試したら先頭で止まるように
概要 Dockerにて、PHP 5.6 + Apache + MySQL 5.6 を XDebugする環境作成 Eclipseにて 環境 Windows 10 64bit ホスト機にて、VirtualBoxを動かして、Dockerを使用 参考: [メモ] Windowsで、Vagrant+Virtualboxを使ってるとき、dockerが使える環境を作成 デバッガ Eclipse PHP (予定..) VisualStudioCode (予定..) PHPStorm (評価版) ブラウザ: Google Chrome コンテナの設定・起動 Docker実行環境作成 VirtualBoxなどの場合、ポートフォワードの設定をしておくと、よいかもしれません。 使用ポート: 80(http), 443(https), 3306(MySQL), 8080(phpMyAdmin) 参考: [メモ] W
はじめに 新しい技術が好きな技術者といえども、古いシステムの改修や保守のために既にサポートが切れてしまっているようなバージョンのソフトウェアを触ることになる、という経験は誰しも訪れる。 そんなとき、古い開発環境をわざわざインストールしたくない。 ならば仮想化技術の出番でしょう。 追記 1 mac OSでうまく動かなかったので対処しました。 mac OSの場合は最終的にlocalhostにDockerコンテナ内のportがマッピングされるので、http://localhost/でアクセスできるようになります。 詳しくはDocker公式 Networking features in Docker for Mac の項を参照 作成したコードはこちらのgithubリポジトリにあります。 追記 2 mac OSではXdebugでのブレークポイントが確認できていません。 こちらのGistを元に、コンテ
PhpStorm の設定をする 設定する画面は3画面 デバッグポートの設定 PhpStorm メニューの Preferences を開き、 Languages & Frameworks -> PHP -> Debug を選択する。 Xdebug の項目があるので、Debug ポートが 9000 で、「Can accept external connections」がチェックされていることを確認する。 Server の追加 PhpStorm メニューの Preferences を開き、 Languages & Frameworks -> PHP -> Servers を選択する 「+」 をクリックし、設定を追加する。 Name は設定名なのでわかりやすいものをつける(Host名と合わせておけばいいと思う) Host名は /etc/hosts 等で名前解決できるようにしたホスト名を設定。名前解
はじめに 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'));
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く