Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
PHPUnitでパラメタライズドテストと例外のテスト / PHPUnit +Parameter...
Search
juve534
November 10, 2020
Programming
350
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PHPUnitでパラメタライズドテストと例外のテスト / PHPUnit +Parameterized Test
juve534
November 10, 2020
More Decks by juve534
See All by juve534
DMMプラットフォームでプルリクエストのマージ時間を250時間から50時間に減らした話 / Developers Summit 2023
juve534
3
3k
CleanArchitecture輪読会 - SOLID原則 - / Clean Architecture Round Reading SOLID
juve534
0
120
スクラムガイド輪読会 / changes 2020 Scrum Guide
juve534
0
150
DIについて知る / Let's study together DI.
juve534
0
87
レガシーコードに最低限の秩序をもたせる
juve534
2
1.6k
Other Decks in Programming
See All in Programming
ChromeでローカルLLM
ryu1013
0
200
SODA - FACT BOOK(JP)
sodainc
1
40k
そのデザイントークン、Flutterでも同じ見た目になりますか?
nakamizu
0
320
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
4.4k
TanStack Vue Query と Pinia Colada から学ぶ非同期状態の型設計
aoshi
0
640
地方こそサーバーレス — 10年続けた、顔が見えるチームで確かな基盤を / Serverless Matters Most in Regional Areas — 10 Years of Building Reliable Foundations with Close-Knit Teams
seike460
PRO
1
330
AIが実装を担う時代の「技術設計」と「チームマネジメント」
kamina_zzz
2
240
Distance field of Julia set
kinakomoti321
0
310
React Native에 현대적인 빌드 도구 더하기: Rollipop 구현기
leegeunhyeok
0
180
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
300
조합이폭발하는디자인시스템이걸눈으로도테스트하라고요
giljongyu
0
740
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2k
Featured
See All Featured
HDC tutorial
michielstock
2
1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
330
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
370
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
3.8k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
610
Typedesign – Prime Four
hannesfritz
42
3.2k
A Modern Web Designer's Workflow
chriscoyier
699
190k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.5k
Producing Creativity
orderedlist
PRO
348
41k
The browser strikes back
jonoalderson
0
1.9k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
630
Transcript
PHPUnitで パラメタライズドテストと 例外のテスト juve534
» Twitter / GitHub » Juve534 » 仕事 » PHP7
+ Laravelの新規開発 » 好きなサッカーチーム » ユベントス(Juventus) 2 自己紹介
PHPUnitで パラメタライズドテストと例外の テストを行う方法 3 今日話すこと
» テストの冗長化を防ぐ » PHPUnitを便利に使う 4 期待すること
パラメタライズドテスト 5 1.
“ パラメタライズドテストとは 渡す引数が違うだけで 同じテストケースを実行するテスト 6
パラメタライズドテスト FizzBuzzで試してみる » 3の倍数は「Fizz」 » 5の倍数は「Buzz」 » 3と5の倍数は「FizzBuzz」 7
Want big impact? USE BIG IMAGE. 8
冗長… 9
パラメタライズドテスト 気になる点 » 毎回テスト対象のメソッド呼び出し » テストケース増えると長くなる » テストの目的が見えづらい 10
PHPUnitのメソッドを使う 11
パラメタライズドテスト @dataProvider » Docコメントに書く » 任意のメソッドから値を受け取れる » @dataProvider メソッド名 »
メソッドはpublic » 配列 or オブジェクトで返却する 12
使ってみる 13
Want big impact? USE BIG IMAGE. 14
パラメタライズドテスト 改善した点 » テスト対象のメソッド呼び出し1回 » テストデータがメソッド内にまとまった » テスト目的がわかりやすくなった 15
例外のテスト 16 2.
例外のテスト before » try-catchでもできる » 拾っちゃいけないException拾わない? →意図したExceptionだけ拾いたい →PHPUnitのメソッドを駆使する 17
例外のテスト @expectedException » docコメントに書く » 例外クラスを判定できる » @expectedException Exception名 18
例外のテスト 19
例外のテスト @expectedExceptionMessage » docコメントに書く » 例外のメッセージを判定できる » @expectedExceptionMessage メッセージ »
メッセージは一部でも判定できる » @expectedExceptionの記述が必要 20
例外のテスト 21
例外のテスト @expectedExceptionMessageRegExp » docコメントに書く » 例外のメッセージを正規表現で判定できる » @expectedExceptionMessageregExp メッセージ 22
例外のテスト 23
例外のテスト after » 意図したいExceptionだけ拾えた » メッセージも判定楽ちん » 紹介省いたけどcode内でもできる 24
応用編 25 3.
複数の例外をテストする 26
複数の例外をテスト dataProvider + $this->expectExceptionを使う 27
例外のテスト $this->expectException » expectedExceptionのメソッド版 » テストメソッド内で呼び出せる » 引数を動的に変更できる 28
Want big impact? USE BIG IMAGE. 29
まとめ » PHPUnitは優秀 » dataProviderとexpectedExceptionで快適なテストラ イフをしよう 30
関連資料 » PHPUnitでパラメタライズドテストをやってみる » PHPUnitで例外をテストする » コード 31
ご清聴ありがとうございました 32