Hatena::Groupvim

vimまっしぐら★ このページをアンテナに追加 RSSフィード

引っ越し後の日記はコチラです

tokoromのその他の日記

2011-04-19

VimとPythonとnoseとTDDと

| 03:09

noseのインストールとテストコードうんぬん

なにはともあれ、noseをインストールしてテストコードが実行される状態にするのが一番はじめ。

noseのインストールとテストコードの書き方については、

を参考にさせていただきました。

noseの実行

ひとまずnosetestsにパスが通っていれば、

:!nosetests

としてやれば、カレントディレクトリ以下のテストケースを勝手にさらってテスト実行してくれる。

便利!

quickrun.vim の利用

このままでも十分使えるが、quickrun.vim で簡単実行できたほうがなおよし。

quickrun.vim をインストールしたら、あとは .vimrc で以下設定を。

" testからはじまるpythonファイルをテストコードとする 
autocmd BufWinEnter,BufNewFile test*.py set filetype=python.test

" 自分の場合は Space q でquickrunを実行するようにしている 
silent! map <unique> <Space>q <Plug>(quickrun)

" quickrun.vim 用設定 
let g:quickrun_config = {}
let g:quickrun_config['*'] = {'runmode': "async:remote:vimproc", 'split': 'below'}
" ↑の2行あたりが既存なら↓の追加だけ 
let g:quickrun_config['python.test'] = {'command': 'nosetests', 'exec': ['%c -v %s']}

1行目の設定は、テストコードと思われるファイルを開いたとき、そのfiletypeを「python.test」とする設定*1

最終行の設定は、filetypeが「python.test」のときのquickrunの設定*2

実行

これでテストコードのファイルを開いてクイックラン*3!

f:id:tokorom:20110420031233p:image

でテストコード実行可能になりました。

備考

ちなみにここまではただテストコードを実行してみただけで、特にTDDではなかったり。。。

TDDするには、テストコード←→実装コードをぱぱっと切り替えたりとか、テストコード中の未実装の関数とかの入力支援とかあったら便利な気がする。

このあたりVim上で解決しているかたがいらっしゃいましたら是非ご教示を!

※現在、自作でそのあたりやってはいますが、まだ紹介できるレベルではありません

*1:名称は別のものでも構わない

*2:ただnosetestsを実行するだけの設定

*3:↑のとおりの設定なら Space q

JenayJenay2011/11/25 13:29Very true! Makes a chgane to see someone spell it out like that. :)

fbvwalzwipfbvwalzwip2011/11/27 01:443e5VVt <a href="http://aolqgwvdjhyb.com/">aolqgwvdjhyb</a>

dovoxpudovoxpu2011/11/29 03:488OefHx , [url=http://uelrhjbljeue.com/]uelrhjbljeue[/url], [link=http://tbpxxmqwrimm.com/]tbpxxmqwrimm[/link], http://kfzfevvnxdmn.com/

mdongnzmdongnz2011/12/01 20:46jPRbSA <a href="http://rzjuymnlbinq.com/">rzjuymnlbinq</a>

pvfiqqopvfiqqo2011/12/07 00:50tuZ8gU , [url=http://wakbxkimtsgj.com/]wakbxkimtsgj[/url], [link=http://vnmsiiaujqlf.com/]vnmsiiaujqlf[/link], http://moeudypgohmj.com/