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
ユニットテストを書きやすくするためにテストスイートを拡張する / Extend test su...
Search
tenkoma (Koji Tanaka)
June 16, 2018
Programming
0
2.7k
ユニットテストを書きやすくするためにテストスイートを拡張する / 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.3k
PhpStormとPHPUnitを連携してユニットテスト作成を楽にする ver.phpconsen / integrating-phpunit-with-a-phpstorm-ver-phpconsen
tenkoma_
0
4k
PhpStormとPHPUnitを 連携してユニットテスト 作成を楽にする / Integrating PHPUnit with a PhpStorm
tenkoma_
1
620
CakeFest 2019について / About CakeFest 2019
tenkoma_
0
4k
BASE の PHP アプリ アップデートについて
tenkoma_
0
4.4k
CircleCI 2.0 で CakePHP3 アプリのビルド
tenkoma_
0
2k
GitLab CI + Review Apps で簡易レビュー環境
tenkoma_
4
3k
CakePHP プロジェクトにプルリクを送り続けた僕は
tenkoma_
0
630
Webpack勉強会 JavaScriptビルド編
tenkoma_
1
2k
Other Decks in Programming
See All in Programming
CDK開発におけるコーディング規約の運用
yamanashi_ren01
2
250
ML.NETで始める機械学習
ymd65536
0
230
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.2k
Honoとフロントエンドの 型安全性について
yodaka
7
1.5k
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
120
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
120
sappoRo.R #12 初心者セッション
kosugitti
0
280
CSS Linter による Baseline サポートの仕組み
ryo_manba
1
150
Better Code Design in PHP
afilina
0
170
DRFを少しずつ オニオンアーキテクチャに寄せていく DjangoCongress JP 2025
nealle
2
270
もう僕は OpenAPI を書きたくない
sgash708
5
1.9k
生成AIで加速するテスト実装 - ロリポップ for Gamersの事例と 生成AIエディタの活用
kinosuke01
0
120
Featured
See All Featured
Unsuck your backbone
ammeep
669
57k
A Tale of Four Properties
chriscoyier
158
23k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
430
Typedesign – Prime Four
hannesfritz
40
2.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
BBQ
matthewcrist
87
9.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
260
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Fireside Chat
paigeccino
34
3.2k
Become a Pro
speakerdeck
PRO
26
5.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
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ςετॻ͘ͷΛָʹͯ͠։ൃΛָ͘͠͠ ·͠ΐ͏