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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
tenkoma (Koji Tanaka)
January 26, 2019
Technology
4.4k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PhpStormとPHPUnitを連携してユニットテスト作成を楽にする ver.phpconsen / integrating-phpunit-with-a-phpstorm-ver-phpconsen
2019/1/26 にPHPカンファレンス仙台2019でお話しするトークのスライドです。
tenkoma (Koji Tanaka)
January 26, 2019
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
680
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 Technology
See All in Technology
Disciplined Vibes: Scaling AI-Assisted Engineering
sheharyar
0
140
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
220
2026 TECHFRESH 畢業分享會 - AI-Native 重塑軟體工程與虛擬講師
line_developers_tw
PRO
0
880
Snowflakeと仲良くなる第一歩
coco_se
4
440
AIソロプレナー時代に2ヶ月で20人増員した事業創造会社の開発組織の話
miyatakoji
0
620
AI駆動開発を通して感じた、 AI時代のデザイナーの役割変化
whisaiyo
2
1.7k
RAG を使わないという選択肢
tatsutaka
1
200
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
140
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.9k
10倍の生産性を実現するAI駆動並列エージェントのすべて
kumaiu
5
1.4k
Android の公式 Skill / Android skills
yanzm
0
140
自宅LLMの話
jacopen
1
470
Featured
See All Featured
Discover your Explorer Soul
emna__ayadi
2
1.1k
Why Our Code Smells
bkeepers
PRO
340
58k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
290
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
Building Applications with DynamoDB
mza
96
7.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
[SF Ruby Conf 2025] Rails X
palkan
2
1.1k
Exploring anti-patterns in Rails
aemeredith
3
400
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
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 ΧόϨοδΛݟͳ͕ΒςετΛॻ͘ͱίʔ υ͕࣮ߦͰ͖͍ͯΔ͔Ѳ͍͢͠