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.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.4k
PhpStormとPHPUnitを連携してユニットテスト作成を楽にする ver.phpconsen / integrating-phpunit-with-a-phpstorm-ver-phpconsen
tenkoma_
0
4.2k
PhpStormとPHPUnitを 連携してユニットテスト 作成を楽にする / Integrating PHPUnit with a PhpStorm
tenkoma_
1
650
CakeFest 2019について / About CakeFest 2019
tenkoma_
0
4.1k
BASE の PHP アプリ アップデートについて
tenkoma_
0
4.5k
CircleCI 2.0 で CakePHP3 アプリのビルド
tenkoma_
0
2k
GitLab CI + Review Apps で簡易レビュー環境
tenkoma_
4
3.1k
CakePHP プロジェクトにプルリクを送り続けた僕は
tenkoma_
0
640
Webpack勉強会 JavaScriptビルド編
tenkoma_
1
2k
Other Decks in Programming
See All in Programming
AIと私たちの学習の変化を考える - Claude Codeの学習モードを例に
azukiazusa1
8
3.5k
Deep Dive into Kotlin Flow
jmatsu
1
310
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
110
rage against annotate_predecessor
junk0612
0
160
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
110
複雑なドメインに挑む.pdf
yukisakai1225
5
1.1k
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
250
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
4
2.7k
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
140
アセットのコンパイルについて
ojun9
0
120
Go言語での実装を通して学ぶLLMファインチューニングの仕組み / fukuokago22-llm-peft
monochromegane
0
120
個人軟體時代
ethanhuang13
0
320
Featured
See All Featured
Producing Creativity
orderedlist
PRO
347
40k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
30
9.6k
Building Applications with DynamoDB
mza
96
6.6k
Typedesign – Prime Four
hannesfritz
42
2.8k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
BBQ
matthewcrist
89
9.8k
A better future with KSS
kneath
239
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Speed Design
sergeychernyshev
32
1.1k
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ςετॻ͘ͷΛָʹͯ͠։ൃΛָ͘͠͠ ·͠ΐ͏