Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
テストを書くのが 嫌いな君へ #m3dev Kazuhiro Sera @seratch
Slide 2
Slide 2 text
- テスタビリティが考慮されていないものをメンテ している(例:SerlvetFilter、生 jsp、生 PHP、 CGI・・) - ユニットテスト≠ QA、全体の工数が増えるだけ (という近視眼的な考え方) - 書き捨てのスクリプトまで書くの? - この辺の話題は今日はスコープ外 なぜテストを書かないのか?
Slide 3
Slide 3 text
それだけじゃない - 心理的障壁(ぶっちゃけ面倒)、〆切 - コーディング量は、開発するコードよりテスト コードの方が多くなる - 普段からテストコードを書いていないと、いざと いうとき、テストを効率的に書けない - だから書かない?
Slide 4
Slide 4 text
◯◯書くの面倒・・ - 「Java 書くの面倒・・」 “Java は半分以上 IDE に書かせる言語 です(キリッ” - 「テストコード書くの面倒・・」 “テストコードは・・・”
Slide 5
Slide 5 text
“テストコードも ツールに書かせればいい” (ある程度までは) FA
Slide 6
Slide 6 text
- 全てを書かせることはできない、あくまでひな 形レベルまで - 「何をテストしたいか」は「何をやりたいか」に よって決まる、人間にしかわからない - とはいえ、テストコードはボイラープレートの 嵐、自動生成に向いている 自動化はできない
Slide 7
Slide 7 text
Eclipse プラグイン、Maven プラグイン、sh、bat スクリプト http://junithelper.org/ JUnit Helper (Java)
Slide 8
Slide 8 text
Eclipse プラグイン、Maven プラグインを使った デモをします Demo
Slide 9
Slide 9 text
- getter/setter 無視、型毎に引数宣言・パターン 網羅をカスタマイズ可能 - モックを使ったひな形(Mockito、JMock、 EasyMock、JMockit) - テストを一つも書いてないメソッドを自動検出し てテストを書くことを強制する - テストが足りなかったら追記してくれる 良いところ
Slide 10
Slide 10 text
- メソッドに対してテストを書いている →API 設計が適切ならそれ自体は有効、もちろ んこれだけで十分ではない - typeという無益なテストメソッド →テスト 0 件のクラスを JUnit が許容しないこ とへの対応だが、選択可能にしたい - テストメソッドの名前が独特すぎる →細かくカスタマイズできる - IntelliJ IDEA のプラグインがない →そのうち作りたい・・ 悪いところ
Slide 11
Slide 11 text
rspec-kickstarter (Ruby)
Slide 12
Slide 12 text
- gem install rspec-kickstarter - rspec-kickstarter というスクリプトにパスが通 ります - rspec-kickstarter -h 参照 スクリプトつきの RubyGem です
Slide 13
Slide 13 text
実際に社内のプロジェクトに rspec-kickstarter を実行してみる・・・ Demo
Slide 14
Slide 14 text
- public なメソッドに対して一つ以上のテストを 書かせる - Rails モードで実行すると Rails の事情に合わ せたテストコードが生成される(現状は controller、helper のみ) - ERB のテンプレートを差し替え可能 良いところ
Slide 15
Slide 15 text
- ERB カスタマイズの仕方が微妙 →もう少しよい形を提供したいとは思っていま す、プラグイン機構とか - Rails 連携が弱い →プラグイン機構ができれば、もっとリッチな対 応を 3rd party でつくれるはず 悪いところ
Slide 16
Slide 16 text
- 自動生成で労力が減らせます - TODO つきのテストコードを目の前にすると ちゃんと書き換えたい衝動が湧いてきて「テスト 書くモード」に切り替えやすいです - 使ってみてフィードバックがあればお気軽にど うぞ Happy Testing!