Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PhpStormとPHPUnitを 連携してユニットテスト 作成を楽にする / Integra...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tenkoma (Koji Tanaka)
December 26, 2018
Programming
680
1
Share
PhpStormとPHPUnitを 連携してユニットテスト 作成を楽にする / Integrating PHPUnit with a PhpStorm
2018/12/26 第133回 PHP勉強会@東京で発表した内容です。
tenkoma (Koji Tanaka)
December 26, 2018
More Decks by tenkoma (Koji Tanaka)
See All by tenkoma (Koji Tanaka)
PhpStormでコードを理解する技術 / How to use PhpStorm to understand the code
tenkoma_
0
3.6k
PhpStormとPHPUnitを連携してユニットテスト作成を楽にする ver.phpconsen / integrating-phpunit-with-a-phpstorm-ver-phpconsen
tenkoma_
0
4.3k
CakeFest 2019について / About CakeFest 2019
tenkoma_
0
4.2k
ユニットテストを書きやすくするためにテストスイートを拡張する / Extend test suite to make unit test easier to write
tenkoma_
0
2.9k
BASE の PHP アプリ アップデートについて
tenkoma_
0
4.6k
CircleCI 2.0 で CakePHP3 アプリのビルド
tenkoma_
0
2.1k
GitLab CI + Review Apps で簡易レビュー環境
tenkoma_
4
3.1k
CakePHP プロジェクトにプルリクを送り続けた僕は
tenkoma_
0
660
Webpack勉強会 JavaScriptビルド編
tenkoma_
1
2.1k
Other Decks in Programming
See All in Programming
AIエージェントで業務改善してみた
taku271
0
540
의존성 주입과 모듈화
fornewid
0
150
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
24
14k
Terraform言語の静的解析 / static analysis of Terraform language
wata727
1
110
アクセシビリティ試験の"その後"を仕組み化する
yuuumiravy
1
170
iOS機能開発のAI環境と起きた変化
ryunakayama
0
190
Swift Concurrency Type System
inamiy
1
540
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.1k
🦞OpenClaw works with AWS
licux
1
230
Road to RubyKaigi: Play Hard(ware)
makicamel
1
440
ルールルルルルRubyの中身の予備知識 ── RubyKaigiの前に予習しなイカ?
ydah
1
210
VueエンジニアがReactを触って感じた_設計の違い
koukimiura
0
180
Featured
See All Featured
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
30 Presentation Tips
portentint
PRO
1
280
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
260
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
220
Site-Speed That Sticks
csswizardry
13
1.2k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
270
The Invisible Side of Design
smashingmag
303
52k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Transcript
1IQ4UPSNͱ1)16OJUΛ ࿈ܞͯ͠Ϣχοτςετ ࡞Λָʹ͢Δ ୈճ1)1ษڧձ!౦ژ ాத࣏!UFOLPNB
͢͜ͱ w1)16OJUͱɺ1IQ4UPSN࿈ܞͱ w࿈ܞͮ͠Β͍ڥ w࿈ܞͷઃఆ wϢχοτςετ࡞͕Ͳ͏ָʹͳΔ͔ σϞ͋Γ w❌Ϣχοτςετͷجຊతͳॻ͖ํ w❌1IQ4UPSNͷجຊతͳ͍ํ
ࣗݾհ wాத࣏ 5BOBLB,PKJ w!UFOLPNB (JU)VC 5XJUUFSʜ w#"4&גࣜձࣾ1SPEVDU%JWJTJPO #BDLFOE&OHJOFFS
ʙ w1)1$BLF1)1όʔδϣϯΞοϓɾϞόΠϧΞϓϦ όοΫΤϯυ։ൃ w$POUSJCVUFEUP$BLF1)1
1)16OJUͱ 1IQ4UPSN࿈ܞͱ
1)16OJU w 1)1ίʔυͷϢχοτςετΛॻͨ͘Ί ͷϑϨʔϜϫʔΫ w ଟ͘ͷ1)1ϥΠϒϥϦͰΘΕ͍ͯΔ w 8FCΞϓϦέʔγϣϯͷςετج൫ͱ͠ ͯΘΕΔ ˞େن1)1ϓϩδΣΫτͰ1)16OJUΛ̏ੈΞοϓάϨʔυ͢ΔͨΊʹͬͨ͜ͱ
IUUQTTQFBLFSEFDLDPNEROFPQIQVOJUVQHSBEFTUPSZ TMJEF Λࢀߟʹ͠·ͨ͠
1)16OJU WFOEPSCJOQIQVOJU ΞΠίϯը૾ IUUQTQJYBCBZDPNKBVTFSTNU[E ςετ࣮ߦ ςετ݁Ռ ࣮ߦ ݁ՌΛݕূ QIQVOJUίϚϯυ ͯ͢ύε
ͭҎ্ࣦഊ ςετέʔε ςετ͍ͨ͠ ΞϓϦέʔγϣϯ ίʔυ
1IQ4UPSN w 1IQ4UPSN1)1ΞϓϦέʔ γϣϯͷͨΊͷ౷߹։ൃڥ *%& w ΤσΟλɾσόοΨ࿈ܞɾ੩ తղੳɾόʔδϣϯཧFUD
1IQ4UPSNͱ࿈ܞ WFOEPSCJOQIQVOJU ίϚϯυ࣮ߦ ݁ՌΛऔಘͯ͠දࣔ ࿈ܞ͢Δ͜ͱͰɺ 1IQ4UPSN͔Βςετ ࣮ߦͰ͖Δ ςετέʔε ΞϓϦέʔγϣϯίʔυ
࿈ܞͮ͠Β͍ڥ $BLF1)1ΞϓϦ
$BLF1)1ݻ༗ͷࣄ $BLF1)1 5FTU4IFMM ίϚϯυ࣮ߦ ݁ՌΛऔಘͯ͠දࣔ ςετέʔε ΞϓϦέʔγϣϯίʔυ w ςετ࣮ߦίϚϯ υ͕ΧελϚΠζ
͞Ε͍ͯΔ
ͣͬͱղܾ͔ͨͬͨ͠ ࿈ܞͰ͖ͳ͍͔ ίʔυΛॻ͍ͯΈͨ
࿈ܞͰ͖ͨͷͰϒϩάهࣄॻ͍ͨ IUUQTUFOLPNBIBUFOBCMPHDPNFOUSZ
࿈ܞͷઃఆ
આ໌༻ڥ w $BLF1)1ެࣜͷνϡʔτϦΞϧͰ࡞ͬͨ $BLFΞϓϦʹςετΛՃ w IUUQTHJUIVCDPNUFOLPNB DBLFQIQ@DNT w %PDLFSͰߏங w
.BDͰݕূࡁɺ8JOEPXTͰσόοάҎ ֎ಈ࡞֬ೝࡁ
։ൃڥىಈ $ docker-compose up -d
ઃఆ1)1$-*
ઃఆ1)1$-*
ઃఆ1)1$-*
ઃఆ1)1$-* w ίϯςφͷ1)1 όʔδϣϯ͕ද ࣔ͞ΕͨΒ0, w දࣔ͞Εͳͯ͘ େৎͳ͜ͱ ͋Δ
ઃఆ5FTU'SBNFXPSLT w දࣔ͞ΕΔμΠΞϩάͰbQIQDMJ`Λબͯ͠0, w b-PDBM`ͱ͍͏ઃఆআ͠·͠ΐ͏
ઃఆ5FTU'SBNFXPSLT w 1)16OJUͷόʔδϣϯ͕දࣔ͞ΕͨΒ0,
Ϣχοτςετ࡞͕ Ͳ͏ָʹͳΔ͔
1IQ4UPSN͔Β ςετΛ࣮ߦͰ͖Δ w ϑΝΠϧɾςετϝιουɾϑΥ ϧμશ෦ w ࣦഊͨ͠ςετͷΈ࠶࣮ߦ w 3VOύωϧͷςετ݁Ռ͔Βίʔ υδϟϯϓ
σϞ
None
1IQ4UPSN͔Β ςετΛ࣮ߦͰ͖Δ w ϑΝΠϧɾςετϝιουɾϑΥ ϧμશ෦ w ࣦഊͨ͠ςετͷΈ࠶࣮ߦ w 3VOύωϧͷςετ݁Ռ͔Βίʔ υδϟϯϓ
w λʔϛφϧͱ*%&ΛΓସ͑ͣʹࡁ Ή w ಛఆͷϝιου͚࣮ͩߦ͍ͨ͠ͱ͖ ʹ--filter=testSomethingͳ ͲͱࢦఆͤͣʹࡁΉ ͷϝϦοτ
σόοά͠ͳ͕Β ςετ࣮ߦͰ͖Δ w ࣦഊͨ͠6TFSTMPHJO ͷ్தʹ ϒϨʔΫϙΠϯτΛઃఆͯ͠มΛ֬ೝͯ͠ ΈΔ w ϦΫΤετͰ*%1BTTXPSE͕1PTU͞Ε͍ͯΔ ͔֬ೝ
7BSJBCMFTͰΠϯΫϦϝϯλϧαʔν w ϒϨʔΫϙΠϯτΛͨ͠··σόοάͤͣ ʹ࣮ߦ
σϞ
None
σόοά͠ͳ͕Β ςετ࣮ߦͰ͖Δ w ࣦഊͨ͠6TFSTMPHJO ͷ్தʹ ϒϨʔΫϙΠϯτΛઃఆͯ͠ςετΛ࠶࣮ߦ σ όοά w
ϦΫΤετͰ*%1BTTXPSE͕1PTU͞Ε͍ͯΔ ͔֬ೝ 7BSJBCMFTͰΠϯΫϦϝϯλϧαʔν w ϒϨʔΫϙΠϯτΛͨ͠··σόοάͤͣ ʹ࣮ߦ
ͷϝϦοτ w ϒϨʔΫ͢Δͱςετதͷม ͕؆୯ʹ֬ೝͰ͖Δ w ϒϨʔΫϙΠϯτΛΓସ͑ ͳͯ͘ɺσόοά͋Γͳ͠ ͷ࣮ߦ͕Γସ͑ΒΕΔ
ςετ࣮ߦ࣌ͷΧόϨοδ ΛΤσΟλϑΝΠϥʹදࣔ w 6TFST$POUSPMMFSͰl3VO UFTUT 1)16OJU XJUI$PWFSBHFz w ʮ1SPKFDUʯύωϧʹߦΧόϨοδ͕දࣔ ͞ΕΔ
w MPHJO Ͱೝূࣦഊ࣌ͷςετ͕Ͱ͖ͯͳ͍ w ςετΛՃͯ͠࠶࣮ߦ
σϞ
w 1SPKFDUύωϧϑΥϧμϑΝΠϧ͝ͱͷߦΧόϨοδ͕දࣔ͞ΕΔ w ҹςετͰ࣮ߦ͞Ε͍ͯͳ͍ߦ
ςετ࣮ߦ࣌ͷΧόϨοδ ΛΤσΟλϑΝΠϥʹදࣔ w 6TFST$POUSPMMFSͰl3VO UFTUT 1)16OJU XJUI$PWFSBHFz w ʮ1SPKFDUʯύωϧʹߦΧόϨοδ͕දࣔ ͞ΕΔ
w MPHJO Ͱೝূࣦഊ࣌ͷςετ͕Ͱ͖ͯͳ͍ w ςετΛՃͯ͠࠶࣮ߦ
ͷϝϦοτ w ίʔυ͕ςετͰ࣮ߦͰ͖͍ͯΔ͔ ͷௐࠪ w Ͳͷߦ͕࣮ߦͰ͖͍ͯΔ͔֬ೝ͠ͳ ͕Βςετ࡞Λࢼߦࡨޡ͢Δ w ߦΧόϨοδΛࢦ͞ͳ͍ ߹Ͱศར
·ͱΊ 1IQ4UPSNͱ1)16OJUΛ࿈ܞ͢Δͱ w 1IQ4UPSN͔Βςετ࣮ߦͰ͖ͯɺख ͕ؒݮΔ w σόοά͠ͳ͕Βͷௐ͕͍ࠪ͢͠ w ΧόϨοδΛݟͳ͕ΒςετΛॻ͘ͱίʔ υ͕࣮ߦͰ͖͍ͯΔ͔Ѳ͍͢͠