テストを書くのが嫌いな君へ #m3dev
Upcoming SlideShare
Loading in...5
×
 

テストを書くのが嫌いな君へ #m3dev

on

  • 1,339 views

テストコード自動生成ツールに関する紹介です

テストコード自動生成ツールに関する紹介です

Statistics

Views

Total Views
1,339
Views on SlideShare
1,321
Embed Views
18

Actions

Likes
2
Downloads
2
Comments
0

3 Embeds 18

https://twitter.com 13
http://s.deeeki.com 3
https://web.tweetdeck.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

テストを書くのが嫌いな君へ #m3dev テストを書くのが嫌いな君へ #m3dev Presentation Transcript

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