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を連携してユニットテスト作成を楽にする ver.phpcons...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
tenkoma (Koji Tanaka)
January 26, 2019
Technology
0
4.3k
PhpStormとPHPUnitを連携してユニットテスト作成を楽にする ver.phpconsen / integrating-phpunit-with-a-phpstorm-ver-phpconsen
2019/1/26 にPHPカンファレンス仙台2019でお話しするトークのスライドです。
tenkoma (Koji Tanaka)
January 26, 2019
Tweet
Share
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を 連携してユニットテスト 作成を楽にする / Integrating PHPUnit with a PhpStorm
tenkoma_
1
670
CakeFest 2019について / About CakeFest 2019
tenkoma_
0
4.1k
ユニットテストを書きやすくするためにテストスイートを拡張する / 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
650
Webpack勉強会 JavaScriptビルド編
tenkoma_
1
2.1k
Other Decks in Technology
See All in Technology
Ruby版 JSXのRuxが気になる
sansantech
PRO
0
150
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
13k
usermode linux without MMU - fosdem2026 kernel devroom
thehajime
0
230
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
1.9k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
登壇駆動学習のすすめ — CfPのネタの見つけ方と書くときに意識していること
bicstone
3
100
What happened to RubyGems and what can we learn?
mikemcquaid
0
300
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
Context Engineeringの取り組み
nutslove
0
340
Cosmos World Foundation Model Platform for Physical AI
takmin
0
880
SREが向き合う大規模リアーキテクチャ 〜信頼性とアジリティの両立〜
zepprix
0
450
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
910
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
48
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
240
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
140
Evolving SEO for Evolving Search Engines
ryanjones
0
120
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
53
First, design no harm
axbom
PRO
2
1.1k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
940
4 Signs Your Business is Dying
shpigford
187
22k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
The Cult of Friendly URLs
andyhume
79
6.8k
How STYLIGHT went responsive
nonsquared
100
6k
Transcript
1IQ4UPSNͱ1)16OJUΛ ࿈ܞͯ͠Ϣχοτςετ ࡞Λָʹ͢Δ 1)1ΧϯϑΝϨϯεઋ ాத࣏!UFOLPNB
࠷ۙɺϢχοτςετ ॻ͚ͯ·͔͢ʁ
ςετॻ͍࣮ͯߦͷ܁Γฦ͠ ͕໘ͩͱࢥͬͨ͜ͱ ͋Γ·͔͢ʁ
1IQ4UPSNͱ1)16OJUΛ࿈ܞ ͢Δͱςετ࡞ָ͕ʹͳΓɺ ίʔυཧղ͘͢͠ͳΓ·͢ ࢼͯ͠Έ͍ͯͩ͘͞
ͪͳΈʹ 1IQ4UPSNΛ͍ͬͯΔํ !
͢Ͱʹ1)16OJUͱ࿈ܞͯ͠ ςετॻ͍ͯΔΑͱ͍͏ํ
͢͜ͱ 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Ϣχοτςετͷ͢͠͞ɺ҆ఆੑͷվળ 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 ςετ࣮ߦίϚϯ υ͕ΧελϚΠζ
͞Ε͍ͯΔ
ΤσΟλͰίʔυมߋ λʔϛφϧʹΓସ͑ͯςετ࣮ߦ ʜ܁Γฦ͠ʜ
ΤσΟλͰίʔυมߋ λʔϛφϧʹΓସ͑ͯςετ࣮ߦ ʜ܁Γฦ͠ʜ
ΤσΟλͰίʔυมߋ λʔϛφϧʹΓସ͑ͯςετ࣮ߦ ʜ܁Γฦ͠ʜ
ΤσΟλͰίʔυมߋ λʔϛφϧʹΓସ͑ͯςετ࣮ߦ ʜ܁Γฦ͠ʜ
গ͠1)1ίʔυΛՃͨ͠Β ࿈ܞͰ͖ͨͷͰϒϩάهࣄॻ͍ͨ IUUQTUFOLPNBIBUFOBCMPHDPNFOUSZ $BLF1)1ͰΞϓϦ։ൃͯ͠Δํࢀߟʹ
࿈ܞͷઃఆ
આ໌༻։ൃڥ EPDLFSDPNQPTF $BLF1)1ΞϓϦ w IUUQTHJUIVCDPN UFOLPNB DBLFQIQ@DNT w %PDLFSͰߏங w
$BLF1)1ެࣜͷνϡʔ τϦΞϧͰ࡞ͬͨ $BLFΞϓϦʹςετ ΛՃ
։ൃڥىಈ $ git clone https://github.com/ tenkoma/cakephp_cms.git $ cd cakephp_cms $
make $ make migrate w ઃఆલʹίϯςφΛىಈ͓ͯ͘͠ w 1IQ4UPSNͰDBLFQIQ@DNTϑΥϧμΛ։͘
1)1$-* 5FTU'SBNFXPSLT ͷઃఆ ˞͔͚Ͱઆ໌͠·͕͢ɺεΫϦʔϯγϣοτΛ ଟΊʹࡌ͍ͤͯΔͷͰɺޙ΄Ͳ֬͝ೝ͍ͩ͘͞
ઃఆ1)1$-* w 1SFGFSFODFT1)1 w $-**OUFSQSFUFSະબʹͳ͍ͬͯΔ w ʮʜʯΛબ
ઃఆ1)1$-* w ʮʴʯˠʮ'SPN%PDLFSʜʯΛબ w 1)1࣮ߦڥΛՃ͢Δ
ઃఆ1)1$-* w ʮ%PDLFS$PNQPTFʯˠʮQIQDMJʯΛબͯ͠ʮ0,ʯ w ϦϞʔτ࣮ߦڥΛબ͢Δ
ઃఆ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 ࣦഊͨ͠ςετ݁Ռ͔Βίʔυ δϟϯϓ
σϞ
None
w λʔϛφϧͱ*%&ΛΓସ͑ͣʹࡁ Ή w ಛఆͷϝιου͚࣮ͩߦ͍ͨ͠ͱ͖ ʹ--filter=testSomethingͳ ͲͱࢦఆͤͣʹࡁΉ ϝϦοτ
ςετ࣮ߦ͠ͳ͕Β σόοά w ࣦഊͨ͠6TFST$POUSPMMFSMPHJO ϩάΠϯ ػೳ ͷ్தʹϒϨʔΫϙΠϯτΛઃఆͯ͠ม Λ֬ೝͯ͠ΈΔ w
ϦΫΤετͰ*%1BTTXPSE͕1PTU͞Ε͍ͯΔ ͔֬ೝ 7BSJBCMFTͰΠϯΫϦϝϯλϧαʔν w ʮ$PQZ7BMVF"TʜʯͰ࣮ߦதͷม͔Βς ετσʔλΛ࡞
σϞ
None
ϝϦοτ w ϒϨʔΫ͢Δͱςετதͷม ͕؆୯ʹ֬ೝͰ͖Δ w ࣮ߦதͷมΛίϐϖͯ͠؆ ୯ʹςετσʔλΛ࡞ΕΔ
ςετ࣮ߦ࣌ͷΧόϨοδ ΛΤσΟλϑΝΠϥʹදࣔ w 6TFST$POUSPMMFS5FTUͰl3VO UFTUT 1)16OJU XJUI$PWFSBHFz w ʮ1SPKFDUʯύωϧʹߦΧόϨοδ͕ දࣔ͞ΕΔ
w ςετͰ͖ͯͳ͍ίʔυΛݟ͚ͭΔ w ςετΛՃͯ͠࠶࣮ߦ
σϞ
w 1SPKFDUύωϧϑΥϧμϑΝΠϧ͝ͱͷߦΧόϨοδ͕දࣔ͞ΕΔ w ҹςετͰ࣮ߦ͞Ε͍ͯͳ͍ߦ
ϝϦοτ w ίʔυ͕ςετͰ࣮ߦͰ͖͍ͯΔ͔ ͷௐ͕ࠪ͘͢͠ w Ͳͷߦ͕࣮ߦͰ͖͍ͯΔ͔֬ೝ͠ͳ ͕Βςετ࡞Λࢼߦࡨޡ͢Δ w ߦΧόϨοδΛࢦ͞ͳ͍ ߹Ͱศར
·ͱΊ 1IQ4UPSNͱ1)16OJUΛ࿈ܞ͢Δͱ w 1IQ4UPSN͔Βςετ࣮ߦͰ͖ͯɺख ͕ؒݮΔ w σόοά͠ͳ͕Βͷௐ͕ࠪ͘͢͠ͳΔ w ΧόϨοδΛݟͳ͕ΒςετΛॻ͘ͱίʔ υ͕࣮ߦͰ͖͍ͯΔ͔Ѳ͍͢͠