Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
前段 以前、こちらでPhpStormでxDebugを使う記録を取ってました。 PhpStormとHomesteadとXdebugでDebugできるようにする - Qiita その後、なんか調子悪くなったhomesteadをdestroyしたせいで? xdebugのインストールとかが吹き飛んだっぽくて、デバッグできなくなってしまいました。 php -mでモジュール一覧を見ても、Zend Modulesにxdebugが表示されません。 なので、改めて入れ直します。 使えるかどうかの確認 毎回、「どこを確認すればええんや……」となるのでまとめておきます。 各設定が具体的にどうなっていればいいかは以下を参照してください。 Homestead + Xdebug + PhpStorm でリモートデバッグ環境をつくる - ラボラジアン PhpStormの設定 PhpStorm Preferences L
経緯 今担当しているプロダクトのテストコードを動かしていたら、特定のテストを実施した際にDBのレコードが変更され、他のテストが通らなくなる事態が発生してた. データベースのテスト 5.4 LaravelにあるようにDatabaseTransactions使ってるのになんでかなーと色々調べた結果、setupでDBいじってたのが原因とわかった. DatabaseTransactionsは各テストケースをデータベーストランザクションでラップしてしまうので、setupはトランザクション外なのね. setupでDBいじってるテストが結構あったので、楽な感じに直す方法を調べてみた. 対応 単純にDatabaseTransactionsでやってたトランザクションの開始と終了をsetupで明示的にやることで対処. DatabaseTransactionsは取り除く. class TestCase exte
Drupalで作っているシステム、自作モジュールのユニットテストを書いておこうと思ってやりだしたら思いの外手こずったのでコツをメモ書き。 継承する元クラスによってできることと速さとが違う 参考 : https://www.drupal.org/docs/8/testing/types-of-tests-in-drupal-8 Drupal8が用意しているテストには大きく分けて三種類あるらしい。 ユニットテスト カーネルテスト ブラウザテスト これらはphpunitモジュールを使う。 phpunitモジュールの他にもシンプルテストというのが検索すると出てくるが、これはどうも古いやり方らしく「もう使わないでね!phpunit使ってね!」というドキュメントに行き着くので調べてない。 今回はユニットテストとカーネルテストを書いたのでこのふたつについてわかったことを。 ユニットテスト Drupal\
PHP のデバッグツールである Xdebug にはリモートデバッグという機能があります。 …というのは言うまでもなく、広く知られていると思います。 しかし、Xdebug の設定をなんとなくコピペで済ませたりしていないでしょうか? Xdebug のリモートデバッグ設定、理解していますか? 日本語のサイトを検索すると「 xdebug.remote_enable=1 にして、xdebug.remote_host を xxx にして…」と設定だけが淡々と書かれた情報が多いです。 しかし、設定項目について、それぞれの意味を理解していないとトラブル時の対処が難しくなります。 リモートデバッグとは何か? リモートデバッグ (Remote Debugging) とは、実行中の PHP とは別の場所にデバッグを制御するものが存在する 方式です。 よくある環境だと、次のように図示できます。 PHP 本体とは別
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
class ImageUploadTest extends TestCase { public function testUploadImage() { //フェイクディスクの作成 //storage/framework/testing/disks/designに保存用ディスクが作成される //(指定しなければdesignではなくlocalフォルダが保存用に使用される) Storage::fake('design'); // テスト後ファイルは削除される // Storage::persistentFake('design'); テスト後も画像ファイルが残る // 画像アップロード用サービスクラス作成(僕はS3にアップロード) $imageService = new ImageService(new S3ImageUploader); // UploadedFileクラス用意 $uploa
# ..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/local/etc/php/conf.d/xdebug.ini ;fi # ..snip.. 実現したかったこと Dockerfile を使って、 PHP の動くコンテナを作成する ある条件(ARG で与えるパラメーター)に従って必要ならば xdebug をインストール 具体的には、 PHP_XDEBUG_
環境 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_le
デバッガが反応しないんだけど.. 仮想環境で開発をしていると、間に挟まるレイヤーのせいで悩まされることが度々あります。 例えば、ホスト側でIDEを実行し、ゲスト側で開発対象のアプリを起動しているような場合、デバッグ実行をするためには適切な設定が必要になります。 ゲストOSからは、デバッガがリモートホストで実行されているように見えるからです。 ここでは、ゲストOSでPHPを実行して、ホストOS上のデバッガでデバッグする方法を紹介します。 想定環境 Vagrant でゲストOSを起動し、ゲストOS上のDockerコンテナでPHPアプリを実行します (Dockerを使わず、ゲストOS上で直接PHPを実行する場合でも、下記の方法でデバッグ実行できるようになるはずです)。 Vagrant のプロバイダには、VirtualBox を使います。 VirtualBox 限定の設定を使うので、他のプロバイダ
1) Calculator null should be a 'null': TypeError: Cannot read property 'should' of null : : 2) Calculator undefined should be an 'undefined': TypeError: Cannot read property 'should' of undefined : : Chains 全てのアサーションはshould.jsラッパーオブジェクトを返ので、チェインすることができる。 「to, be, been, is, that, which, and, has, have, with, at, of, same」はチェイン可能なgetterとして提供されていて、テスト機能は提供していないみたい。 .not アサーションを否定します。 .deep deepフラグを設定
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く