Skip to content

Instantly share code, notes, and snippets.

@usaturn
Created July 4, 2012 02:44
Show Gist options
  • Save usaturn/3044950 to your computer and use it in GitHub Desktop.
Save usaturn/3044950 to your computer and use it in GitHub Desktop.
テストコードを先に書け!

世界的な人に教えて頂いたテストについてのまとめ

テストに絡めてコードの書き方

  • プログラムはまず日本語で書けるようにする
    • 日本語化する事により、調べやすくなる。
    • 何をテストすべきなのかも見えてくる
  • プログラムには入力と出力がある
    • テストは入力と出力を決定して実行する

TDD(BDD)で必ず書け!

  • メインのコードを書く前にテストを書く。目的はコードの設計
    • 関数名の決定(名前重要)
    • 引数の決定(関数やclassの使い方)
    • そのコードの振る舞いについての決定
  • テストを先に書くことにより、テストしやすいコードとなる。
  • main関数の代わりに unittest.main() で実行する
  • 手動でテストしていた事をunittestで自動実行が可能となる

その他

  • テストは負債になる事もある
    • ソースコードが巨大になると、ソースの根幹に関わる部分を変更した時にテストコード自体も大量に書き直さなければならない時がある
  • argparseのような既存モジュールの動作についてのテストは不要
    • 自分で書いたわけではないモジュールの機能はモジュール自体が動作を保障してくれるはず
  • 今作成しているプログラムはWebサーバと通信するプログラムなので、テストをする為にはmockも必要
  • noseはまとめてテストをする時に使い、基本は標準のunittestを利用(人による)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment