PHPUnitでリファクタリング

4,912
-1

Published on

2013.12.07に開催されたFuelPHP & CodeIgniter ユーザの集い2で使用した資料です

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,912
On Slideshare
0
From Embeds
0
Number of Embeds
14
Actions
Shares
0
Downloads
7
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

PHPUnitでリファクタリング

  1. 1. PHPUnitでリファクタリング 宮川 貴子(@NEKOGET)  CodeIgniter®    The  CodeIgniter  mark  is  owned  and  may  be  registered  by  EllisLab,  Inc          .
  2. 2. 今日のお話。 •  •  •  •  •  •  UnitTestコード書いてる?   UnitTestコードはだれでも書けるよ。   でもちょっとだけ練習が必要。   TDD難しい?   既存のコードから始めようよ。   具体的にはリファクタリング。
  3. 3. お話する人 宮川 貴子   フリーランスのWEB系の人   TwiIer  @NEKOGET   Facebook  hIps://www.facebook.com/NEKOGET   ネコネットデザイン事務 hIp://works.nekoget.net           CodeIgniterと知り合い、楽しくコードを書いているうち に、5年を経過しました。   CodeIgniterへの愛に溢れた生活を送っています。   FuelPHPのドキュメント日本語化をやってます。     最近はCakePHP2とも仲良くしてます(^-­‐^)v  
  4. 4. PHPUnitとは •  PHPUnitとは,SebasVan  Bergmann氏が開発 を行っているテスティングフレームワーク  
  5. 5. CodeIgniterでPHPUnit CIUnitを利用する   オリジナル     hIp://www.foostack.com/foostack/   For  CodeIgniter1.7.x     Kenji_sさん版My-­‐CIUnit   hIps://bitbucket.org/kenjis/my-­‐ciunit   For  CodeIgniter2.x     FukataさんCIUnit  for  CI2   hIps://github.com/fukata/CIUnit-­‐for-­‐CI2   For  CodeIgniter2.x        
  6. 6. CodeIgniterでPHPUnit 使い方については   今回は割愛!   hIp://www.slideshare.net/NEKOGET/ code-­‐ignitertalk-­‐0   CodeIgniter  talk  #1の資料です。     CodeIgniter3対応について対応します。   無いと困るから!      
  7. 7. 理想と現実 •  テストを先に書いてみたい (TDD!)   –  仕様が決まってないし、先にって言われても….   –  いきなり書けない…..    
  8. 8. 理想と現実 •  テストコードのあるコードにしたい。   –  今書いてるコードにテストは全くない。   –  後から書くの…..? 本当に?(心の声)   –  どこから手を付けたらいいかわからない   –  そもそもどうやって書いたら良いかわからん!  
  9. 9. 理想と現実 •  少しずつ理想と現実の間を埋めていくために   •  体験する   –  TDDBCに参加してみる。   –  チュートリアル的なものをやってみる   –  まずは、コードを書いて後からテストを書いてみる。  
  10. 10. 理想と現実 •  少しずつ理想と現実の間を埋めていくために   •  体験する   –  TDDBCに参加してみる。   –  チュートリアル的なものをやってみる   –  まずは、コードを書いて後からテストを書いてみる。   ↑   今日のお話
  11. 11. 理想と現実を近づける。 1.  コードを書く   2.  テストを書く   3.  動かしてみる   4.  直してみる(リファクタリング)  
  12. 12. 理想と現実を近づける。 1.  コードを書く   2.  テストを書く   3.  動かしてみる   4.  直してみる(リファクタリング)  
  13. 13. それ、あるある! たとえば….     いろんな事をがんばっちゃってすっごい行数に育っ ちゃったModel  Class……     1行の修正による影響範囲がすごいことになってる。     コード読めない…..    
  14. 14. どう戦う? •  なんとかしたいメソッドをテストファイルの中で 実行してみる。   •  動きをみてみる。   •  テストを書いてみる。   •  中の処理を別のメソッドに切り出してみる。  
  15. 15. やってみる。 •  デモ   •  SQL   •  hIps://gist.github.com/NEKOGET/ c34a7ddf36a54d1b4d2d     •  hIps://gist.github.com/NEKOGET/7837404#file-­‐ gishile1-­‐php-­‐L138   •  hIps://gist.github.com/NEKOGET/ b54eca192e01c250e983#file-­‐gishile1-­‐php-­‐L94  
  16. 16. まとめ •  テストコードを書く事で戦える。   •  テストコードが背中を守ってくれる。   •  テストコードが財産になる瞬間がくる。  
  17. 17. おまけ CIでCIを初めたばかりの時に出会える風景
  18. 18. おしまい ご清聴ありがとうございました  
  19. 19. TDD(テスト駆動開発) テストを書く心に効く動画     •  [動画で解説]和田卓人の“テスト駆動開発”講座     –  hIp://gihyo.jp/dev/serial/01/tdd   •  TDDBC  Tokyo  1.5  基調講演   –  hIp://www.ustream.tv/recorded/15889068    •  TDD実践してわかったTDDつまづくあるあると自分なりの乗 り越え方のまとめ   –  hIp://www.ustream.tv/recorded/15891140  
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×