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
実践テスト駆動開発 in iOS/TDD_in_iOS
Search
Yusuke Hosonuma
October 03, 2017
Technology
1
1.2k
実践テスト駆動開発 in iOS/TDD_in_iOS
俺コン Vol.1 / Day. 2
Yusuke Hosonuma
October 03, 2017
Tweet
Share
More Decks by Yusuke Hosonuma
See All by Yusuke Hosonuma
KotlinTest で始める Property-based Testing/kotlintest-property-based-testing
yusukehosonuma
2
1.5k
Marzipan の正体は何だったのか そして SwiftUI の衝撃/wwdc19_marzipan_swiftui
yusukehosonuma
2
900
標準パッケージにおけるテストでの利用例から学ぶ testing / quick パッケージ/golang-testing-quick
yusukehosonuma
4
12k
Swift で ParameterizedTest をやってみた話/swift-parameterized-test
yusukehosonuma
4
2.1k
Property-based test beginning with SwiftCheck
yusukehosonuma
1
5.7k
XCTest(再)入門/reintroduction-to-xctest
yusukehosonuma
0
480
ソースコードから読み解く - Quick はどのように実装されているのか?/quick-code-reading
yusukehosonuma
7
11k
Swift 4.2 はどのような進化をしているのか/whats-new-swift42
yusukehosonuma
16
15k
HTTPモックライブラリ「Mockingjay」を使ってみた話/swift-mockingjay
yusukehosonuma
5
3.9k
Other Decks in Technology
See All in Technology
Cloud Native Scalability for Internal Developer Platforms
hhiroshell
2
490
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
230
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
440
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
240
DroidKnights 2025 - Jetpack XR 살펴보기: XR 개발은 어떻게 이루어지는가?
heesung6701
1
160
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
240
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
340
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
330
Uniadex__公開版_20250617-AIxIoTビジネス共創ラボ_ツナガルチカラ_.pdf
iotcomjpadmin
0
140
讓測試不再 BB! 從 BDD 到 CI/CD, 不靠人力也能 MVP
line_developers_tw
PRO
0
1.1k
OTFSG勉強会 / Introduction to the History of Delta Lake + Iceberg
databricksjapan
0
120
CSS、JSをHTMLテンプレートにまとめるフロントエンド戦略
d120145
0
180
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Bash Introduction
62gerente
614
210k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
6
690
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Navigating Team Friction
lara
187
15k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Visualization
eitanlees
146
16k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Transcript
Copyright (C) DeNA Co.,Ltd. All Rights Reserved. Զίϯ Vol.1 Day.
2 2017/10/03 (Tue) ࡉপ ༞հ@DeNA ࣮ફςετۦಈ։ൃJOJ04 1
˙:VTVLF)PTPOVNBʢ!UPCJʣ • ॴଐ ⁃ %F/"48&5άϧʔϓςετج൫νʔϜ • 'BWPSJUF ⁃ •
ۙگ ⁃ J04%$Ͱ-5ొஃ ⁃ 'BTUMBOFʹॳ$POUSJCVUJPO ⁃ 5XJUUFSΞΠίϯΛม͑ͨ ⁃ 4UBDL0WFSqPXͰॳճ ⁃ ԶίϯEBZͰॳ࢘ձ ࣗݾհ Copyright (C) DeNA Co.,Ltd. All Rights Reserved. 2
ࠓɺ͢͜ͱ 3 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
J04ΞϓϦ։ൃͰ ςετࣗಈԽɾ5%%Λ Ͳ͏ద༻͢Δ͔ʁ 4 Copyright (C) DeNA Co.,Ltd. All Rights
Reserved. ࢲͷߟ͑Λ͠·͢
ΞδΣϯμ 5 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
5%%ͷ෮श • J04ΞϓϦ։ൃʹ͓͚Δ • ࣗಈςετͷ՝ • 5%% • ϥΠϒίʔσΟϯά • ·ͱΊ
ςετۦಈ։ൃʢ5%%ʣͱ 6 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ςετۦಈ։ൃʢTDDʣͱ 7 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
ςετΛઌʹॻ͘ελΠϧͷʮ։ൃख๏ʯ • 3&%ˠ(SFFOˠ3FGBDUPS • ,FOU#FDL͕ఏএ
ςετۦಈ։ൃʢTDDʣͱ 8 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. RED
Green Refactor ςετΛॻ͘ ࠷ݶͷ࣮ ॏෳΛऔΓআ͘
5%%ͷ ϝϦοτɾσϝϦοτ 9 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
TDD ͷϝϦοτ 10 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
• ઌʹςετΛॻ͘͜ͱͰΰʔϧ͕໌֬ʹ • ςετ͍͢͠ઃܭʹͳΔ • ҰʹҰͭͷ͜ͱ͚ͩΔ͜ͱͰूத • ෆ҆ΛݮΒͤΔ
TDD ͷσϝϦοτ 11 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
• εΩϧ͕ඞཁ • աͳઃܭʹͳΔ͜ͱ • 5%%JT%FBE • ద༻ͮ͠Β͍ྖҬ • ηΩϡϦςΟιϑτ
J04ΞϓϦ։ൃͰ Ͳ͏ͳͷ͔ʁ 12 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ͦͷલʹʜ 13 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
υΩυΩೋΫΠζ "ɺ#ɺͲͪΒ͕ਖ਼͍͠ʁ 14 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ୈ̍ 15 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ςετͷͳ͍ίʔυ ɹɹ#ςετͷ͋Δίʔυ 16 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ςετͷͳ͍ίʔυ ɹɹ#ςετͷ͋Δίʔυ 17 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
⭕
ୈ̎ 18 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ՁΛੜΉ͚Ͳɺόάͷ͋Δίʔυ ɹɹ#όά͕ແ͍͚ͲɺՁΛੜ·ͳ͍ίʔυ 19 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ՁΛੜΉ͚Ͳɺόάͷ͋Δίʔυ ɹɹ#όά͕ແ͍͚ͲɺՁΛੜ·ͳ͍ίʔυ 20 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
⭕
ୈ 21 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ՁΛੜΉ͕ɺςετͷͳ͍ίʔυ ɹɹ#ςετ͕͋Δ͕ɺՁΛੜ·ͳ͍ίʔυ 22 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ՁΛੜΉ͕ɺςετͷͳ͍ίʔυ ɹɹ#ςετ͕͋Δ͕ɺՁΛੜ·ͳ͍ίʔυ 23 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
⭕
࠷ॳͷ 24 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ςετͷͳ͍ίʔυ ɹɹ#ςετͷ͋Δίʔυ 25 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ɹɹ"ςετͷͳ͍ίʔυ ɹɹ#ςετͷ͋Δίʔυ 26 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ͲͪΒ͕ਖ਼͍͔͠߹ʹΑΔ ʜͦΕ͕͑ͩ
ςετΛॻ͘͜ͱ͕ ৗʹਖ਼͍͠Θ͚Ͱͳ͍ 27 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
J04ΞϓϦʹ͓͚Δ ςετࣗಈԽͷ՝ 28 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ςετࣗಈԽͷ՝ 29 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
εΩϧ͕ඞཁ • ࣮ίετ • ϝϯςφϯείετ • ࣮ߦʹ͕͔͔࣌ؒΔ
ςετࣗಈԽͷ՝ 30 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
εΩϧ͕ඞཁ • ࣮ίετ • ϝϯςφϯείετ • ࣮ߦʹ͕͔͔࣌ؒΔ ͜Ε͕ຊͷ՝ʁ
Ұ൪ͷ՝ 31 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
τϨʔυΦϑͷݟۃΊ 32 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
τϨʔυΦϑͷݟۃΊ 33 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
Ͳ͜·ͰࣗಈςετΛద༻͢Δͷ͔ʁ • ΧόϨοδ • ୭͕ϝϯςφϯεΛ͢Δʁ • ͭ·Δͱ͜ΖɺͲ͜ʹՁΛஔ͖͍ͨʁ
τϨʔυΦϑͷݟۃΊ 34 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
Ͳ͜·ͰࣗಈςετΛద༻͢Δͷ͔ʁ • ΧόϨοδ • ୭͕ϝϯςφϯεΛ͢Δʁ • ͭ·Δͱ͜ΖɺͲ͜ʹՁΛஔ͖͍ͨʁ ͔ͬ͠Γߟ͑ͳ͍ͱɺςετΛ࡞Δ͜ͱ ͕తʹͳΓɺ࠷ޙࣺͯΒΕΔ
खڧ͍࣭ 35 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
खڧ͍࣭ 36 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
ԿͷͨΊʹςετΛࣗಈԽ͢Δͷʁ • νʔϜશһ͕ೲಘ͍ͯ͠Δʁ • ଞͷ1+ͷޭࣄྫΛͦͷ··ద༻ͯ͠ͳ͍ʁ • ՁΛੜ·ͳ͍ςετʹ߆ͬͯͳ͍ʁ • ͦͦࣗಈԽ͢Δඞཁ͋Δͷʁ
खڧ͍࣭ 37 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
ԿͷͨΊʹςετΛࣗಈԽ͢Δͷʁ • νʔϜશһ͕ೲಘ͍ͯ͠Δʁ • ଞͷ1+ͷޭࣄྫΛͦͷ··ద༻ͯ͠ͳ͍ʁ • ՁΛੜ·ͳ͍ςετʹ߆ͬͯͳ͍ʁ • ͦͦࣗಈԽ͢Δඞཁ͋Δͷʁ ςετٕ๏͖͕ͬͯͨɺ͕ࣗͨͪ ඞཁͳͷΛऔࣺબ͢Δ͜ͱ͕ॏཁ
͍ͭςετࣗಈԽʹ औΓΉ͔ʁ 38 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
͍ͭςετࣗಈԽʹऔΓΉ͔ʁ 39 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. ϏδωεతʹՁΛੜΉͱݟࠐΊͨ࣌
ࢢͰՁΛੜΉ͔Θ͔Βͳ͍ஈ֊Ͱɺ ςετΛࣗಈԽ͢ΔՁബ͍ ϓϩάϥϚ͕࣮࣌ʹෆ҆Λײ͡Δ෦ ωΨςΟϒͳײɺ ଟ͘ͷ࡞ۀʹϚΠφεͳӨڹΛ༩͕͑ͪ
J04ΞϓϦ։ൃʹ͓͚Δ ςετۦಈ։ൃʢ5%%ʣ 40 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
iOSΞϓϦ։ൃʹ͓͚ΔTDD 41 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
6*ςετ ɹ⭕ࣗ৴Λײͯ͡ɺ෦ઃܭͷվળ͕͘͢͠ ɹ❌࣮ʹ͕͔͔࣌ؒΔ • ୯ମςετ ɹ⭕ςετ͍͢͠ઃܭʹͳΔ ɹ⭕҆શωοτ͕ுΓ८Β͞ΕΔ
ϥΠϒίʔσΟϯά 42 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
࡞Δͷ 43 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. λοϓͨ͠Βϝοηʔδ͕දࣔ
ϥΠϒίʔσΟϯά Λऴ͑ͯ 44 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
ϥΠϒίʔσΟϯάΛऴ͑ͯ 45 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
Ұͭͷ͜ͱʹूதͰָ͖͍ͯ͠ • ͰγϛϡϨʔλىಈʹ͔͔࣌ؒΔͳ • ϦϑΝΫλϦϯάΓྑ͍श׳ͩ • ϝοηʔδ͕มΘͬͨΒमਖ਼͠ͳ͍͔ɾɾɾ • ॏཁͳέʔεྑ͍͚Ͳ͜ͷςετա͔ͳ • ୯ମϨϕϧͩͬͨΒ5%%Ͱྑ͍͔ʁ
ϥΠϒίʔσΟϯάΛऴ͑ͯ 46 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
Ұͭͷ͜ͱʹूதͰָ͖͍ͯ͠ • ͰγϛϡϨʔλىಈʹ͔͔࣌ؒΔͳ • ϦϑΝΫλϦϯάΓྑ͍श׳ͩ • ϝοηʔδ͕มΘͬͨΒमਖ਼͠ͳ͍͔ɾɾɾ • ॏཁͳέʔεྑ͍͚Ͳ͜ͷςετա͔ͳ • ୯ମϨϕϧͩͬͨΒ5%%Ͱྑ͍͔ʁ ײɾؾ͖ͮΛେʹ͠Α͏ʂ
·ͱΊ 47 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.
·ͱΊ 48 Copyright (C) DeNA Co.,Ltd. All Rights Reserved. •
େͳͷՁͷݟۃΊ • ܧଓతʹτϨʔυΦϑΛݟۃΊ͍ͯ͘ • ϝϯόʔͷΛௌ͘ • ςετͷΛௌ͘ • J04Ͱ5%%׆༻Ͱ͖Δ • ײͷϑΟʔυόοΫΛେʹ͠Α͏ • ۜͷؙͳ͍
%F/"5FTUJOH#MPH 1VCMJTIFE IUUQTXFUEFOBDPN 49 Copyright (C) DeNA Co.,Ltd. All Rights
Reserved.
&OKPZ%FWFMPQNFOU XJUI5%% 50 Copyright (C) DeNA Co.,Ltd. All Rights Reserved.