- プログラムはまず日本語で書けるようにする
- 日本語化する事により、調べやすくなる。
- 何をテストすべきなのかも見えてくる
- プログラムには入力と出力がある
- テストは入力と出力を決定して実行する
- メインのコードを書く前にテストを書く。目的はコードの設計
- 関数名の決定(名前重要)
- 引数の決定(関数やclassの使い方)
- そのコードの振る舞いについての決定
- テストを先に書くことにより、テストしやすいコードとなる。
- main関数の代わりに unittest.main() で実行する
- 手動でテストしていた事をunittestで自動実行が可能となる
- テストは負債になる事もある
- ソースコードが巨大になると、ソースの根幹に関わる部分を変更した時にテストコード自体も大量に書き直さなければならない時がある
- argparseのような既存モジュールの動作についてのテストは不要
- 自分で書いたわけではないモジュールの機能はモジュール自体が動作を保障してくれるはず
- 今作成しているプログラムはWebサーバと通信するプログラムなので、テストをする為にはmockも必要
- noseはまとめてテストをする時に使い、基本は標準のunittestを利用(人による)