Symfony2を勉強するにあたり、Symfony2のテストコードをVimのquickrunから実行する方法について調べました。
動作確認環境
- Vim7.3
- quickrun0.5.1
- PHP5.3.9
- PHPUnit3.6.7
- Symfony2.0.8
目次
.vimrc
下記のようにquickrunを設定することで動作しました。
Symfony2のphpunit.xml.distは ~/Sites/Symfony2/app/phpunit.xml.dist にあるものとします。
以下、.vimrcです。
augroup QuickRunPHPUnit
autocmd!
autocmd BufWinEnter,BufNewFile *Test.php set filetype=php.phpunit
augroup END
let g:quickrun_config['php.phpunit'] = {}
let g:quickrun_config['php.phpunit']['command'] = 'phpunit'
let g:quickrun_config['php.phpunit']['cmdopt'] = '-c ~/Sites/Symfony/app'
let g:quickrun_config['php.phpunit']['exec'] = '%c %o %s'
command! SymfonyMode let g:quickrun_config['php.phpunit']['cmdopt'] = '-c ~/Sites/Symfony/app'
command! NoSymfonyMode let g:quickrun_config['php.phpunit']['cmdopt'] = ''
動作確認をするには、テストコードの書かれたファイルを開き、<leader>rを入力します。<leader>はデフォルトでは\です。
cmdoptオプションにSymfony2のphpunit.xml.distのあるフォルダを指定します。
私の環境では、cmdoptの設定はSymfony2のテストを実行する時以外は必要ありませんので、:SymfonyMode, :NoSymfonyModeというコマンドを通してcmdoptをエディタ側から変更できるようにしています。