Help us understand the problem. What is going on with this article?

LaravelでPhpunitをステップ実行するシンプルな方法

More than 5 years have passed since last update.

概要

Laravel4.2で、ユニットテストをステップ実行する方法です。
既にxdebugを利用して、ブラウザでのステップ実行を行っている人は、phpunitをブラウザで実行すれば、すぐにphpunitのステップ実行ができます。phpunitをブラウザで実行する方法を紹介します。

対象

・ブラウザでxdebugからステップ実行の設定がすでにできている人
・ごくたまに、phpunitをステップ実行してソースやライブラリの動きを確認したい人

手順

PHPUnitを実行するルートを追加して、ブラウザから通常通りxdebugでデバッグできます。

//route.phpにphpunit実行用のルートを作成
Route::get("phpunit", function(){
    //通常コマンドラインで渡す以下のようなパラメタを、配列に入れます。
    // phpunit -c phpunit.xml --filter testMyUnitTest app/tests/MyUnitTest
    // ファイルは、route.phpからのパスになるので、必要に応じて変更してください。
    $argv = array(
        "-c",
        "../phpunit.xml",
        "--filter",
        //ステップ実行したいテスト名
        "testMyUnitTest",
        //ステップ実行したいテストのあるファイル
        __DIR__."/tests/MyUnitTest.php"
        );

    $_SERVER['argv'] = $argv;
    $command = new PHPUnit_TextUI_Command();
    $ret = $command->run($argv, false);
});
shrft
ウェブエンジニア歴: 約10年 laravel,vuejsが得意です。 その他: java,html,css,php,react,ruby ウェブサイト、ウェブサービスの開発の相談受け付けています。 ご相談はtwitterからどうぞ。
https://twitter.com/it_shiro
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away