×
Copy
Open
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
PHPUnitで パラメタライズドテストと 例外のテスト juve534
Slide 2
Slide 2 text
» Twitter / GitHub » Juve534 » 仕事 » PHP7 + Laravelの新規開発 » 好きなサッカーチーム » ユベントス(Juventus) 2 自己紹介
Slide 3
Slide 3 text
PHPUnitで パラメタライズドテストと例外の テストを行う方法 3 今日話すこと
Slide 4
Slide 4 text
» テストの冗長化を防ぐ » PHPUnitを便利に使う 4 期待すること
Slide 5
Slide 5 text
パラメタライズドテスト 5 1.
Slide 6
Slide 6 text
“ パラメタライズドテストとは 渡す引数が違うだけで 同じテストケースを実行するテスト 6
Slide 7
Slide 7 text
パラメタライズドテスト FizzBuzzで試してみる » 3の倍数は「Fizz」 » 5の倍数は「Buzz」 » 3と5の倍数は「FizzBuzz」 7
Slide 8
Slide 8 text
Want big impact? USE BIG IMAGE. 8
Slide 9
Slide 9 text
冗長… 9
Slide 10
Slide 10 text
パラメタライズドテスト 気になる点 » 毎回テスト対象のメソッド呼び出し » テストケース増えると長くなる » テストの目的が見えづらい 10
Slide 11
Slide 11 text
PHPUnitのメソッドを使う 11
Slide 12
Slide 12 text
パラメタライズドテスト @dataProvider » Docコメントに書く » 任意のメソッドから値を受け取れる » @dataProvider メソッド名 » メソッドはpublic » 配列 or オブジェクトで返却する 12
Slide 13
Slide 13 text
使ってみる 13
Slide 14
Slide 14 text
Want big impact? USE BIG IMAGE. 14
Slide 15
Slide 15 text
パラメタライズドテスト 改善した点 » テスト対象のメソッド呼び出し1回 » テストデータがメソッド内にまとまった » テスト目的がわかりやすくなった 15
Slide 16
Slide 16 text
例外のテスト 16 2.
Slide 17
Slide 17 text
例外のテスト before » try-catchでもできる » 拾っちゃいけないException拾わない? →意図したExceptionだけ拾いたい →PHPUnitのメソッドを駆使する 17
Slide 18
Slide 18 text
例外のテスト @expectedException » docコメントに書く » 例外クラスを判定できる » @expectedException Exception名 18
Slide 19
Slide 19 text
例外のテスト 19
Slide 20
Slide 20 text
例外のテスト @expectedExceptionMessage » docコメントに書く » 例外のメッセージを判定できる » @expectedExceptionMessage メッセージ » メッセージは一部でも判定できる » @expectedExceptionの記述が必要 20
Slide 21
Slide 21 text
例外のテスト 21
Slide 22
Slide 22 text
例外のテスト @expectedExceptionMessageRegExp » docコメントに書く » 例外のメッセージを正規表現で判定できる » @expectedExceptionMessageregExp メッセージ 22
Slide 23
Slide 23 text
例外のテスト 23
Slide 24
Slide 24 text
例外のテスト after » 意図したいExceptionだけ拾えた » メッセージも判定楽ちん » 紹介省いたけどcode内でもできる 24
Slide 25
Slide 25 text
応用編 25 3.
Slide 26
Slide 26 text
複数の例外をテストする 26
Slide 27
Slide 27 text
複数の例外をテスト dataProvider + $this->expectExceptionを使う 27
Slide 28
Slide 28 text
例外のテスト $this->expectException » expectedExceptionのメソッド版 » テストメソッド内で呼び出せる » 引数を動的に変更できる 28
Slide 29
Slide 29 text
Want big impact? USE BIG IMAGE. 29
Slide 30
Slide 30 text
まとめ » PHPUnitは優秀 » dataProviderとexpectedExceptionで快適なテストラ イフをしよう 30
Slide 31
Slide 31 text
関連資料 » PHPUnitでパラメタライズドテストをやってみる » PHPUnitで例外をテストする » コード 31
Slide 32
Slide 32 text
ご清聴ありがとうございました 32