Program

python楽しいよ? (python+doctest+vim=ヒャッハー)


まーたしばらく記事書いてなかったびっくりだ。筆無精にもほどがある。

さてさて。最近家ではPythonばかりいじっております。
もっぱらDjangoでWebアプリ作成。慣れるとなかなか楽しい。

このPython、海外だとメジャーな言語なんですが日本じゃ非常にマイナーな存在。ぐぬぬ。おかげで日本語の資料が出てこない。ほとんど英語。まぁいいけど…。日本語の「Pythonやろうよ!楽だよ?」って記事が少ないので、ちょっとヨイショ記事を書こうと思います(・∀・)

細かい文法とかすっとばして、いきなりタイトルの内容に入りまーす。

Pythonだと単体テストがもんっのすごく書きやすい。
= いいペースでプログラムを作っていける。
そこにVimも混ぜるとなお素晴らしい。

実例。例えば hoge.py というファイルに関数addを作ります。

docstring(説明文)もつけちゃいましょう。

さて、テストしましょう。
他言語と同じようなUnit Testも使えますが、せっかくなのでここはPython特有のdoctestで行きます。
doctestの下準備。ファイル hoge.py の下に数行追加(8〜10行目)。

追加したら、ちょっとPythonの対話シェルから関数を実行してみます。
(対話シェル→コマンドラインで「python」と打つと起動します)

add(1, 3)が実行されて、上に書いた通り、ちゃんと0が返ってますね。

んでは、docstringの中に、対話シェルと同じ形式でテストを書きます。

「>>>」の文字の後に実行したい文を書きます。(下の例 8, 9行目)
その直後の行(10行目)には期待する返り値を書きます。※下の例だと期待する返り値は「4」ですね。

はい、テストの記述終了。
コマンドラインでこのファイルを実行してみると

$ python hoge.py

さくっとテストが実行されちゃいます。
期待する返り値(Expected)が4のところに0が返ってる(Got)のでFailedになってますね。

add()を書き直します。

OK、テストだ。

あれ何も表示されない…?
というのは実は正常で、テストにパスすると何も表示されません
実行結果を見るには -v オプションをつけて実行します。

$ python hoge.py -v

vオプションをつけるとこんな具合に、実行結果詳細つきでテスト結果を見ることができます。

慣れたらテストをガシガシ追加していきましょう。

テスト実行。

こんな感じで、処理記述、テスト、処理記述、テストと、順番にスルスルと組み立てていくことができます。

Vimを使っている方なら、わざわざターミナル(or コマンドプロンプト)に切り替えなくても
:! python hoge.py -v
と打てばVim内でテスト実行、テスト結果を見ることができますね(・∀・)!

 ↓

テストの流れはこんな感じです。

doctestは基本的に簡単な比較テストしかできないし、テストが多すぎると逆に視認性が落ちる…というデメリットはありますが、この「テストの手軽さ、素早さ」はものすごく気持ちいいですよ。安心感も得られますしね。それにDjangoなどのフレームワークと組み合わせると、Webアプリをスンスンスーン♪と作っていけます。便利!

どうでしょう?ちょっとPython使ってみたくなりました?Djangoなどをつっこめるレンタルサーバーは数少ないですが、機会があったら是非使ってみて下さいね(。・∀・)ノ

というわけで、Python楽しいよ?というお話でした。さて、アプリの続き作ろうっと…。

今回書いたPythonはコチラ→hoge.py
※文字化けする場合は、ブラウザの文字エンコードをUTF-8に変えて下さい

Facebook / 広告
2011年06月06日 | Posted in ProgramNo Comments » 

関連記事

コメントを残す

メールアドレスが公開されることはありません。

スパム対策のため、コメントする際は下記の計算式を埋めてください。 計算式の有効期限が切れました。計算式の隣にある再読み込みボタンを押してください。