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
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
tenkoma (Koji Tanaka)
December 26, 2018
Programming
1
670
PhpStormとPHPUnitを 連携してユニットテスト 作成を楽にする / Integrating PHPUnit with a PhpStorm
2018/12/26 第133回 PHP勉強会@東京で発表した内容です。
tenkoma (Koji Tanaka)
December 26, 2018
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を連携してユニットテスト作成を楽にする ver.phpconsen / integrating-phpunit-with-a-phpstorm-ver-phpconsen
tenkoma_
0
4.3k
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 Programming
See All in Programming
AI時代の認知負荷との向き合い方
optfit
0
150
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
今から始めるClaude Code超入門
448jp
8
8.6k
CSC307 Lecture 07
javiergs
PRO
0
550
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
200
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
230
CSC307 Lecture 03
javiergs
PRO
1
490
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
270
Data-Centric Kaggle
isax1015
2
770
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
6
4.5k
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
160
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.9k
Darren the Foodie - Storyboard
khoart
PRO
2
2.4k
Designing for Timeless Needs
cassininazir
0
130
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
How STYLIGHT went responsive
nonsquared
100
6k
Context Engineering - Making Every Token Count
addyosmani
9
650
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
180
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
410
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 ΧόϨοδΛݟͳ͕ΒςετΛॻ͘ͱίʔ υ͕࣮ߦͰ͖͍ͯΔ͔Ѳ͍͢͠