Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ユニットテストを書きやすくするためにテストスイートを拡張する / Extend test su...
Search
tenkoma (Koji Tanaka)
June 16, 2018
Programming
0
2.8k
ユニットテストを書きやすくするためにテストスイートを拡張する / Extend test suite to make unit test easier to write
【非公式】PHPカンファレンス福岡2018前夜祭リジェクトコン #phpconfuk_rej
にて発表したときのスライドです。
tenkoma (Koji Tanaka)
June 16, 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.5k
PhpStormとPHPUnitを連携してユニットテスト作成を楽にする ver.phpconsen / integrating-phpunit-with-a-phpstorm-ver-phpconsen
tenkoma_
0
4.2k
PhpStormとPHPUnitを 連携してユニットテスト 作成を楽にする / Integrating PHPUnit with a PhpStorm
tenkoma_
1
660
CakeFest 2019について / About CakeFest 2019
tenkoma_
0
4.1k
BASE の PHP アプリ アップデートについて
tenkoma_
0
4.5k
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
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
150
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
430
愛される翻訳の秘訣
kishikawakatsumi
3
330
手が足りない!兼業データエンジニアに必要だったアーキテクチャと立ち回り
zinkosuke
0
770
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
3
1.3k
ZOZOにおけるAI活用の現在 ~モバイルアプリ開発でのAI活用状況と事例~
zozotech
PRO
9
5.8k
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
380
dotfiles 式年遷宮 令和最新版
masawada
1
790
これならできる!個人開発のすゝめ
tinykitten
PRO
0
120
AIコーディングエージェント(Manus)
kondai24
0
200
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
230
Navigating Dependency Injection with Metro
l2hyunwoo
1
140
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
54
7.9k
Writing Fast Ruby
sferik
630
62k
Docker and Python
trallard
47
3.7k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1k
Designing for Performance
lara
610
69k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
250
Ethics towards AI in product and experience design
skipperchong
1
140
Building an army of robots
kneath
306
46k
Applied NLP in the Age of Generative AI
inesmontani
PRO
3
1.9k
Facilitating Awesome Meetings
lara
57
6.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Transcript
ϢχοτςετΛॻ͖͘͢ ͢ΔͨΊʹςετεΠʔτΛ ֦ு͢Δ ాத࣏!UFOLPNB 1)1ΧϯϑΝϨϯεԬඇެࣜલࡇ ϦδΣΫτίϯ QIQDPOGVL@SFK
ࣗݾհ wాத࣏ w!UFOLPNB 5XJUUFS (JU)VC )BUFOBʜ wࣛࣇౡˠԬˠਆಸˠ౦ژ w#"4&גࣜձࣾ#BDL&OE&OHJOFFS
࣍ w#"4&ͷ1)1ΞϓϦέʔγϣϯʹ͍ͭͯ w1)1ΞϓϦέʔγϣϯ͚ͷςετεΠʔτΛ ΧελϚΠζ͢Δ wςετεΠʔτͷػೳΛςετ͢Δ wςετ༻1)1֦ுͷίʔυΛิͰ͖ΔΑ͏ʹ ͢Δ
·͓͖͑ w ݄ʹೖࣾͨ͠ͱ͖ɺ!LVOJU͞Μͱ͍͏ ϓϩάϥϚ͕ۀࢧԉͰۈ͞Ε͍ͯͨ w 1)1ϑϨʔϜϫʔΫόʔδϣϯΞοϓΛඪʹ ਾ͑ͯ%PDLFS։ൃڥͷඋϢχοτςετɺ $*ͷηοτΞοϓ࡞ۀΛ͞Ε͍ͯͨɻ w ҰॹʹϓϩμΫτͷ1)1Ξοϓσʔτ࡞ۀΛ͠ͳ͕
ΒςετεΠʔτࣗମͷػೳ֦ுΛͬͨͷͰհ
#"4&Ͱͷ 1)1$BLF1)1 ଟ͘ͷϩʔϧͰ1)1ͱ$BLF1)1Λ༻ w ωοτγϣοϓ࡞αʔϏε#"4& w γϣοϐϯάΞϓϦʮ#"4&ʯ༻ͷ"1* w ཧը໘ɾόονॲཧʜ
#"4&ͷHJUϦϙδτϦ γϣοϓ࡞ ϞόΠϧΞϓϦ"1* όοΫΦϑΟε ࣗ࡞ϓϥάΠϯ ࣗ࡞ϓϥάΠϯY $BLF1)1ΞϓϦέʔγϣϯ $BLF1)1ϓϥάΠϯ ʜ ࣗ࡞ϓϥάΠϯ
1)1 $BLF1)1 όʔδϣϯΞοϓϓϩδΣΫτ w1)1ˠ w$BLF1)1ʙˠ w݄ʹྃ
IUUQEFWCMPHUIFCBTFJOFOUSZ
#"4&ͷHJUϦϙδτϦ γϣοϓ࡞ ϞόΠϧΞϓϦ"1* όοΫΦϑΟε $BLF1)1ΞϓϦέʔγϣϯ $BLF1)1ϓϥάΠϯ ςετεΠʔτ ϓϥάΠϯ ࣗ࡞ϓϥάΠϯ ࣗ࡞ϓϥάΠϯY
ʜ ࣗ࡞ϓϥάΠϯ
ςετεΠʔτϓϥάΠϯ w ϑΟΫενϟʔͷ֦ுɺάϩʔόϧมཧͳͲͷػೳ ͕͋ͬͨ w ΞϓϦέʔγϣϯͷํෆ͍ͯͨ͠$*ઃఆςετ͕ ॆ࣮ͭͭ͋ͬͨ͠ w ͨͩ͠ςετεΠʔτϓϥάΠϯࣗମʹςετ͕ͳ͔ͬ ͨ
w ϢχοτςετΛָʹ͢ΔͨΊʹػೳ֦ுͨ͘͠ͳͬͨ
BTTFSU4BNFͰྻͷEJ⒎ Λग़ྗͰ͖ΔΑ͏ʹ͢Δ
BTTFSU4BNF w $BLF1)1·Ͱྻࠈ ϥϒͳϑϨʔϜϫʔΫ w ڊେͳྻΛΞαʔγϣϯࣦ ഊ͢ΔͱɺͲ͜ʹ͕ࠩ͋Δͷ ͔Θ͔ΓͮΒ͍ w ݁ՌɺΉΛ͑ͣ
BTTFSU&RVBMTʹͳͬͨΓɺ ྻͷΩʔຖʹΞαʔγϣϯ ͨ͠Γ͍ͯͨ͠
ߟ͑ͨ wBTTFSU4BNFͰBTTFSU&RVBMTΈ͍ͨ ʹEJ⒎ग़ͯ͠΄͍͠ w࠷৽൛ͩͱվળ͞ΕͯͨΓ͠ͳ͍͔ͳʁ
IUUQTHJUIVCDPNTFCBTUJBOCFSHNBOOQIQVOJUQVMM
͜Ε͍͍ͨʂ w͔͜͠͠Ε͕ಋೖ͞Εͨͷ1)16OJUʜ w$BLF1)1ΞϓϦͰY·Ͱ͔͑͠ͳ͍ wҠ২͢Δͧʂ
Ҡ২Ͱ͖ͨ
None
֦ுBTTFSU4BNF·ͱΊ wEJ⒎ͰΞαʔγϣϯࣦഊՕॴ͕ҰͰΘ͔Δ wͷᐆດ͞Λڐ༰͠ͳ͍ b` w1)16OJUYͰ͑Δ☺ w࣮ޙެ։͠·͢
ςετεΠʔτͷςε τΛॻ͘
ςετεΠʔτͷςετΛॻ͘ wBTTFSU4BNFΛ࣮͢Δલʹطଘͷ ػೳΛςετͨ͘͠ͳͬͨ wςετεΠʔτͬͯͲ͏ͬͯςε τ͢Δͷ
ςετޙʹ$POpHVSFͰཧ͍ͯ͠Δ ઃఆ͕ݩ௨ΓʹͳΔ͜ͱΛςετ͍ͨ͠
ςετεΠʔτͬͯͲ͏ͬͯς ετ͢Δͷ w ͜ͷTFU6Q UFBS%PXOͷهड़Λςετ͍ͨ͠ w $BLF1)1ຊମͷίʔυΛಡΜͩ w 5FTU4VJUFͷςετίʔυ͕͋ͬͨ w
IUUQTHJUIVCDPNDBLFQIQDBLFQIQUSFFYMJC$BLF5FTU$BTF5FTU4VJUF
ςετεΠʔτͬͯͲ͏ͬͯς ετ͢Δͷ $BLF5FTU$BTF #BTF5FTU$BTF ςετ͍ͨ͠Ϋϥε #BTF5FTU$BTF5FTU ʁ ˢ$POpHVSFΛॻ͖͑Δॲཧ͕ͳ͍ ܧঝ
ςετεΠʔτͬͯͲ͏ͬͯς ετ͢Δͷ $BLF5FTU$BTF #BTF5FTU$BTF ςετ͍ͨ͠Ϋϥε #BTF5FTU$BTF5FTU %VNNZ5FTU ܧঝ ܧঝ SVO
w ઃఆΛॻ͖ࠐΜͰͦͷΛΞαʔγϣϯ w SVO ࣮ߦ͢ΔલʹઃఆΛॻ͖ࠐΉ w ࣮ߦޙʹݩʹΔ͜ͱΛΞαʔγϣϯ %VNNZ5FTU #BTF5FTU$BTF5FTU
ԾͷςετέʔεΛ࡞ͬͯ ৼΔ͍ΛςετͰ͖ͨ
ςετ༻1)1֦ுͷίʔ υΛิͰ͖ΔΑ͏ʹ͢Δ
1IQ4UPSN͕ ิͯ͘͠Εͳ͍ίʔυ w5JNFDPQ wSVOLJU wςετ࣌ʹ͔͠Θͳ͍ w1IQ4UPSNͷิ༻ϑΝΠϧʹೖͬͯͳ͍ w IUUQTHJUIVCDPN+FU#SBJOTQIQTUPSNTUVCT wิͰ͖ͳ͍ɺܯࠂग़ΔˠετϨε
ߟ͑ͨ w୭͔ิ༻ͷϑΝΠϧ࡞ͬͯΔํ ͍ͳ͍͔ͳʁˠݟ͔ͭΒͳ͍ w࡞Ζ͏
IUUQTHJUIVCDPNUFOLPNBQIQTUVCTNJHIUZNBHJD
͜Μͳײ͡
QIQTUVCTNJHIUZNBHJD wSVOLJU UJNFDPQ VPQ[༻ ελϒϑΝΠϧ
1IQ4UPSNઃఆ
ଞʹ wςετεΠʔτϓϥάΠϯ$*Ͱςετ w1)1 Ͱ·ͱΊͯςετ࣮ߦ wϦϑϨΫγϣϯΛͬͯQSJWBUFͳϝϯό ΛಡΈॻ͖͢Δϝιου࣮
·ͱΊ wςετέʔεΛΧελϚΠζͯ͠ςετΛ ָʹ wςετεΠʔτʹςετΛ͔͍ͯΈͨ w5JNFDPQΫϥεͱ͔ิͰ͖ΔΑ͏ʹ wςετॻ͘ͷΛָʹͯ͠։ൃΛָ͘͠͠ ·͠ΐ͏