みんなの Python 2-6 サードパーティのモジュールを使う、2-7 プログラムのテストを行う
- 作者: 柴田淳
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2006/08/22
- メディア: 単行本
- 購入: 11人 クリック: 624回
- この商品を含むブログ (180件) を見る
今日は 2-6 「サードパーティのモジュールを使う」と 2-7 「プログラムのテストを行う」を読みました。
2-6 はモジュールをどうやって探して、インストールするかという話題でした。
- Cheese Shop にモジュールが登録されている。と書いてあるけど今は PyPI という名前になっているみたい。
- それでもみつけられないものは Google 先生にきこう!
- インストールはダウンロードしてきて、解凍すると大抵 setup.py があるからそれを実行してね、という素朴なものらしい。RubyGems 的なものはないんでしょうか。
2-7 はテスト用のモジュールやちょっとした Tips の紹介という内容でした。
- unittest モジュール
- doctest モジュール
- 前者は単体テスト用で後者は機能テストや回帰テスト用らしい。
- doctest は関数やメソッドに添えるドキュメンテーション文字列にテストコードを書いてしまうというもの。これはいい
- python をインタラクティブに起動してモジュールを検査する。Ruby でも irb を使ってよくやる手法です
- モジュールを書く → インタラクティブで確認しつつデバッグ → doctest で回帰テストを書く → リファクタリング というシナリオ
- doctest 用のテストコードは python をインタラクディブに起動して実行してみたものを貼り付けるだけでほぼ大丈夫。これはすばらしい。irb にもこういうの欲しい
- 末尾に if __name__ == "__main__": import doctest; doctest.testmod() を書いておけば OK
さすが Python ですね、ドキュメントやそれを利用してテストにしてしまうというあたりの機能は素晴しいものがあります。