『JUnit実践入門』写経・実践会 in 横浜 #3

2,510 views

Published on

イベント司会進行用スライド。

2013/02/02 『JUnit実践入門』写経・実践会 in 横浜 #3 #junitbook - Togetter
http://togetter.com/li/448707

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,510
On SlideShare
0
From Embeds
0
Number of Embeds
1,234
Actions
Shares
0
Downloads
3
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

『JUnit実践入門』写経・実践会 in 横浜 #3

  1. 1. JUnit実践⼊入⾨門 写経・実践会  in  横浜  #3 2013/02/02(⼟土)  at  横浜タネマキ @shinyaa3113年2月3日日曜日 1
  2. 2. 横浜タネマキなう!  #junitbook 213年2月3日日曜日 2
  3. 3. 『JUnit実践⼊入⾨門』 書籍名: JUnit実践入門 ~体系的に学ぶユニットテストの技法 出版社:技術評論社 発売日:2012/11/21 ボリューム:480ページ 著者:渡辺 修司(TwitterID:@shuji_w6e) Javaのテスティングフレームワークとして事実上のデファクトスタンダードの地位を占めているJUnitは、 なにぶん長い歴史を持っていますので、触れたことのある人は膨大な数に上ります。 しかし、日本語のまとまった情報は意外と少なく、本家JUnitが進化するに従って経年劣化を 起こしてしまっているというのが現状です。 そのような状況が変わります。渡辺さんの「JUnit便り」が札幌から全国へ届く日がやってきたのです。 テスト駆動開発者 和田卓人 (※書籍「推薦のことば」より一部抜粋)13年2月3日日曜日 3
  4. 4. 横浜タネマキ13年2月3日日曜日 4
  5. 5. 本⽇日のタイムテーブル 15:00  開始・諸説明・アイスブレイク等(15分) 15:15  対象範囲の写経・実践・ディスカッション等(90分)         ※第11章  テストダブル               (黙読5分〜~写経ディスカッション25分)×3を⽬目安に 16:45  フリータイム(115分)         ※LTを途中で挟む予定 18:30  ふりかえり、次回予定調整等  (30分) 19:00  撤収13年2月3日日曜日 5
  6. 6. 今回の対象範囲 Part  3  ユニットテストの活⽤用と実践  第11章  テストダブル • 11.1  テスタビリティを⾼高めるリファクタリング • 11.2  テストダブルとは? • 11.3  Mockitoによるモックオブジェクト13年2月3日日曜日 6
  7. 7. テストダブル テストダブル (Test Double) とは、ソフトウェアテストにおいて、テスト対象が依存しているコンポーネントを置き換 える代用品のこと。ダブルは代役、影武者を意味する。 テストを実行するには、テスト対象のシステム (SUT; System Under Test) に加えて、テスト対象が依存するコンポー ネント (DOC; Depend-On Component) が必要になる。しかし、依存コンポーネントは、常に利用できるとは限らな い。依存コンポーネントがテスト環境で利用できない理由には、次のようなものが挙げられる。 • 入手できない。 • テストで使いたい結果を返さない。 • 実行に時間がかかるなどの、望ましくない副作用がある。 こういった問題を回避するには、依存コンポーネントを、テスト用のコンポーネントと入れ替えるテクニックが利用 できる。この代用のコンポーネントを、テストダブルと呼ぶ。 http://ja.wikipedia.org/wiki/テストダブル13年2月3日日曜日 7
  8. 8. mockito  ....モック伊藤? http://ja.wikipedia.org/wiki/川⼝口浩13年2月3日日曜日 8
  9. 9. モック伊藤とは http://togetter.com/li/42237613年2月3日日曜日 9
  10. 10. アイスブレイク ・書籍を持って来た? ・書籍を読んで来た? ・書籍対象範囲の写経を済ませた?13年2月3日日曜日 10
  11. 11. アイスブレイク ・TDD、ペアプロ経験等  職場でバリバリ実践  業務外で個人的に ・本日準備環境  OS:Windows/Mac/その他  言語:Java/Groovy/その他  IDE:Eclipse/IntelliJ IDEA/その他13年2月3日日曜日 11
  12. 12. アイスブレイク ・実は私、モック伊藤なんです... ・いや、私こそがモック伊藤だ ・軽く自己紹介、意気込みなどを13年2月3日日曜日 12
  13. 13. mockito Mockito is a mocking framework that tastes really good. It lets you write beautiful tests with clean & simple API. Mockito doesnt give you hangover because the tests are very readable and they produce clean verification errors. Read more about features & motivations. "We decided during the main conference that we should use JUnit 4 and Mockito because we think they are the future of TDD and mocking in Java" - Dan North, the originator of BDD http://code.google.com/p/mockito/13年2月3日日曜日 13
  14. 14. 写経・ディスカッション Part  3  ユニットテストの活⽤用と実践  第11章  テストダブル • 11.1  テスタビリティを⾼高めるリファクタリング • 11.2  テストダブルとは? • 11.3  Mockitoによるモックオブジェクト13年2月3日日曜日 14
  15. 15. 写経・ディスカッション 11.1  テスタビリティを⾼高めるリファクタリング • テスタビリティとは? • リファクタリングとは? • メソッドの抽出 • 委譲オブジェクトの抽出13年2月3日日曜日 15
  16. 16. 写経・ディスカッション 11.2  テストダブルとは? • スタブ  -‐‑‒  依存オブジェクトに予測可能な振る舞いをさせる • モック  -‐‑‒  依存オブジェクトの呼び出しを検証する • スパイ  -‐‑‒  依存オブジェクトの呼び出しを監視する13年2月3日日曜日 16
  17. 17. 写経・ディスカッション 11.3  Mockitoによるモックオブジェクト • Mockitoとは? • Mockitoを利利⽤用する準備 • モックオブジェクトの作成 • スタブメソッドの戻り値 • スタブメソッドの定義 • スタブメソッドの検証 • 部分的なモックオブジェクト • スパイオブジェクト13年2月3日日曜日 17
  18. 18. 写経・ディスカッション ※その他モック関連ライブラリ等 • jMockit • EasyMock • MockRunner • GroovyにおけるMock13年2月3日日曜日 18
  19. 19. Lightning Talk13年2月3日日曜日 19
  20. 20. 撤収!13年2月3日日曜日 20

×