VimでPHPUnitの実行結果をシンプルに表示するプラグインを書いた

 ツイート 8  シェア 0  Hatena 3

failure

以前書いた記事、VimからPHPUnitを実行する環境を整えるでは、Vimのquickrunを使用してPHPUnitを非同期で実行し、結果にグリーン、レッドの色をつける方法を紹介しました。

コマンドラインからPHPUnitを実行していた頃に比べ、ずいぶん開発効率はよくなりましたが、いくつか不満に思っていたことがあります。

  • テストの成功・失敗の結果を、Vimの下のほうにシンプルに表示したい
  • テストが失敗したときは、どの行で失敗したかすぐに分かるようにしたい

これらを解決するために、 quickrunのoutputterを書いてみました。

このoutputterを導入すると、PHPUnitの実行結果(OK,FAILURE)をコマンドラインに色付きで出力し、ロケーションリストからテストの失敗行にジャンプできるようになります。

動作確認環境

  • Vim 7.3
  • quickrun 0.5.1
  • PHPUnit 3.5, 3.6

このプラグインは上記以外の環境では動作しないかもしれません。

目次

  1. 実行結果イメージ
  2. インストール
  3. .vimrc
  4. オプション

実行結果イメージ

PHPUnitの結果がOKの場合

ok

テストが成功した場合、コマンドラインにOKと表示されます。

PHPUnitの結果がFAILUREの場合

failure

テストが失敗した場合、コマンドラインにFAILUREと表示され、ロケーションリストに該当行番号とメッセージが出力されます。

ロケーションリストでエンターキーを押すと、テストの失敗箇所にジャンプできます。ロケーションリストの操作方法については :help location-list をご確認ください。

PHPUnitの結果がERRORやWARNINGの場合

error

ERRORもしくはWARNINGがある場合、コマンドラインにERRORまたはWARNINGと表示され、ロケーションリストにエラーが発生した場所の一覧が出力されます。

インストール

ソースコードはgithubに置いてあります。
https://github.com/karakaram/vim-quickrun-phpunit

ダウンロードしたフォルダをランタイムパスが通ったディレクトリに配置します。

pathogen,Vundle系プラグインを使用されている方は、~/.vim/bundle 以下に配置します。ちなみに私はneobundleを使用しています。neobundleのインストール方法はこちら

$ cd ~/.vim/bundle
$ git clone git://github.com/karakaram/vim-quickrun-phpunit.git

quickrun上で動作しますので、quickrunをインストールしておきます。quickrunの導入方法は下記の記事が参考になるかもしれません。
VimからPHPUnitを実行する環境を整える

.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 コマンドでいつでも開くことができます。
 ツイート 8  シェア 0  Hatena 3