以前書いた記事、「VimからPHPUnitを実行する環境を整える」では、Vimのquickrunを使用してPHPUnitを非同期で実行し、結果にグリーン、レッドの色をつける方法を紹介しました。
-
VimからPHPUnitを実行する環境を整える
VimからPHPUnitを実行する方法をまとめました。PHPUnitをquickrunで非同期実行し、結果にグリーンレッ ...
続きを見る
コマンドラインからPHPUnitを実行していた頃に比べ、ずいぶん開発効率はよくなりましたが、いくつか不満に思っていたことがあります。
- テストの成功・失敗の結果を、Vimの下のほうにシンプルに表示したい
- テストが失敗したときは、どの行で失敗したかすぐに分かるようにしたい
これらを解決するために、 quickrunのoutputterを書いてみました。
このoutputterを導入すると、PHPUnitの実行結果(OK,FAILURE)をコマンドラインに色付きで出力し、ロケーションリストからテストの失敗行にジャンプできるようになります。
動作確認環境
- Vim 7.3
- quickrun 0.5.1
- PHPUnit 3.5, 3.6
目次
実行結果イメージ
PHPUnitの結果がOKの場合
テストが成功した場合、コマンドラインにOKと表示されます。
PHPUnitの結果がFAILUREの場合
テストが失敗した場合、コマンドラインにFAILUREと表示され、ロケーションリストに該当行番号とメッセージが出力されます。
ロケーションリストでエンターキーを押すと、テストの失敗箇所にジャンプできます。ロケーションリストの操作方法については :help location-list をご確認ください。
PHPUnitの結果がERRORやWARNINGの場合
ERRORもしくはWARNINGがある場合、コマンドラインにERRORまたはWARNINGと表示され、ロケーションリストにエラーが発生した場所の一覧が出力されます。
インストール
ソースコードはgithubに置いてあります。
ダウンロードしたフォルダをランタイムパスが通ったディレクトリに配置します。Vundle 系プラグインを使用されている方は、~/.vim/bundle 以下に配置します。
$ cd ~/.vim/bundle
$ git clone git://github.com/karakaram/vim-quickrun-phpunit.git
quickrun上で動作しますので、quickrunをインストールしておきます。quickrunの導入方法は下記を参考にしてください。
-
VimからPHPUnitを実行する環境を整える
VimからPHPUnitを実行する方法をまとめました。PHPUnitをquickrunで非同期実行し、結果にグリーンレッ ...
続きを見る
.vimrc
.vimrcに下記のように記述します。quickrunのoutputterの指定方法についてはquickrunのマニュアルをご確認ください。
augroup QuickRunPHPUnit
autocmd!
autocmd BufWinEnter,BufNewFile *Test.php set filetype=phpunit
augroup END
let g:quickrun_config['phpunit'] = {}
let g:quickrun_config['phpunit']['outputter'] = 'phpunit'
let g:quickrun_config['phpunit']['command'] = 'phpunit'
let g:quickrun_config['phpunit']['exec'] = '%c %o %s'
オプション
let g:quickrun_config['phpunit']['outputter/phpunit/height'] = 3
let g:quickrun_config['phpunit']['outputter/phpunit/running_mark'] = 'running...'
let g:quickrun_config['phpunit']['outputter/phpunit/auto_open'] = 0
phpunit-outputterは下記のオプションを指定できます。
height
エラー時のロケーションウィンドウの高さを設定します。デフォルトは10です。
running_mark
PHPUnit実行中にコマンドラインに表示される文字列を設定します。デフォルトは 「:-)」 です。
auto_open
テストに失敗した時、ロケーションリストを自動で開くかどうがを設定します。デフォルトは1で、自動で開きます。
TDDをするときは0にするとリズムが良くなるかもしれません。エラーの一覧を表示したい場合は、 :lwindow
コマンドでいつでも開くことができます。