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
アプリのユニットテストについて初歩から考えてみる/ABC UnitTest
Search
Koichiro Oishi
October 03, 2017
Programming
910
3
Share
アプリのユニットテストについて初歩から考えてみる/ABC UnitTest
2017/10/02 俺コン Vol.1 / Day.1
Koichiro Oishi
October 03, 2017
More Decks by Koichiro Oishi
See All by Koichiro Oishi
気がついたら子供が社会人になって 自分と同じモバイルアプリエンジニアになった件 / Parent-Child Engineers
koishi
0
560
Kotlin/Swift 有理数クラスのすすめ
koishi
0
1.3k
iOSアプリ開発者から見たKotlin
koishi
2
730
5分でわかるPassword_Autofill_for_Apps
koishi
0
1.1k
Other Decks in Programming
See All in Programming
RSAが破られる前に知っておきたい 耐量子計算機暗号(PQC)入門 / Intro to PQC: Preparing for the Post-RSA Era
mackey0225
3
120
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
270
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
3
510
Swift Concurrency Type System
inamiy
0
300
AIエージェントで業務改善してみた
taku271
0
490
10年分の技術的負債、完済へ ― Claude Code主導のAI駆動開発でスポーツブルを丸ごとリプレイスした話
takuya_houshima
0
1.8k
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
350
おれのAgentic Coding 2026/03
tsukasagr
1
140
事業会社でのセキュリティ長期インターンについて
masachikaura
0
230
ふりがな Deep Dive try! Swift Tokyo 2026
watura
0
110
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
3
710
Rethinking API Platform Filters
vinceamstoutz
0
11k
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
480
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
WCS-LA-2024
lcolladotor
0
520
Leo the Paperboy
mayatellez
6
1.6k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.2k
Why Our Code Smells
bkeepers
PRO
340
58k
The Limits of Empathy - UXLibs8
cassininazir
1
290
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
120
Believing is Seeing
oripsolob
1
110
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
190
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Transcript
ΞϓϦͷϢχοτςετʹͭ ͍ͯॳา͔Βߟ͑ͯΈΔ 2017/10/02 Զίϯ Vol.1 / Day.1 େੴ ߂Ұɹ(@mego_, Koishi)
1 Koichiro Oishi, 2017/10/02
ࣗݾհ • େੴ ߂Ұ • iOSΞϓϦΤϯδχΞ • גࣜձࣾϚφϘ →9݄ʹSIer͔Βస৬͠·͠ ͨʂ
2 Koichiro Oishi, 2017/10/02
ຊͷ͓ • ΞϓϦͷϢχοτςετΛͳΜͱͳ͘ॻ͍ͯΔ • Xcodeඪ४ͷXCTestΛ༻ • ओʹϞσϧ෦ͷΈ • ௨৴ॲཧ։ൃαʔόͱ௨৴͢Δςετ •
UIςετϊʔλον 3 Koichiro Oishi, 2017/10/02
4 Koichiro Oishi, 2017/10/02
৭ʑؾʹͳΔ͜ͱ͋ͬͯɺ ৄ͍͠ਓʹฉ͍ͯΈ͍ͨ 5 Koichiro Oishi, 2017/10/02
ͱ͍͏͜ͱͰɺςετʹৄ͠ ͍ਓʹฉ͍ͯߟ͑ͯΈ·ͨ͠ (લ৬ͷݱͰͷ) 6 Koichiro Oishi, 2017/10/02
ςετʹৄ͍͠ํͱ͍͑͋ ͷํͰ͢Ͷʂ 7 Koichiro Oishi, 2017/10/02
͜Μͳ͜ͱΛฉ͖·ͨ͠ • Modelͷςετ͜Μͳ෩ʹॻ͍ͯΔ͚Ͳʁ • ௨৴෦։ൃαʔόͱ௨৴ͯ͠Δ͚ͲMockΛ ͬͨํ͕ྑ͍ʁ • ViewͷςετͲ͏͢Εྑ͍ʁ • ΧόϨοδʹ͍ͭͯ
8 Koichiro Oishi, 2017/10/02
Modelͷςετ͍·͜Μͳ෩ ʹॻ͍ͯ·͚͢ͲͲ͏Ͱ͢ ͔ʁ 9 Koichiro Oishi, 2017/10/02
͜Μͳ෩ʹॻ͍͍ͯ·ͨ͠ɻ 10 Koichiro Oishi, 2017/10/02
→ϝιου໊ྑ͍ ঢ়ଶͱظ͞ΕΔ݁Ռ͕ϝιου໊ʹॻ͔Ε͍ͯΔ 11 Koichiro Oishi, 2017/10/02
→ಉ͡ΫϥεͷςετͰά ϧʔϓԽͨ͠ΒΑ͍ • JUnitͰ͍͏Enclosed • RspecͰ͍͏describe →XCTestͩͱͰ͖ͳ͍ →QuickͩͱͰ͖ΔͬΆ͍? 12 Koichiro
Oishi, 2017/10/02
→ΫϥεͱςετΫϥε1 ରଟͰΑ͍ 13 Koichiro Oishi, 2017/10/02
௨৴෦։ൃαʔόͱ௨৴ ͯ͠Δ͚ͲMockΛͬͨํ ͕ྑ͍ʁ 14 Koichiro Oishi, 2017/10/02
→ඞͣ͠Θͳͯ͘ྑ͍ • MockΛ͏ͱɺMock͕ਖ਼͍༷͠Ͱ͋Δ͜ͱͷ ୲อ͕ඞཁʹͳΔ • ςετʹ͑Δ։ൃαʔό͕͋ΕͦͪΒͷํ͕ ίετ • ڥతʹ௨৴Ͱ͖ͳ͍ɺ͕͔͔࣌ؒΔͱ͍ͬͨ ߹MockΛݕ౼͢Δ
15 Koichiro Oishi, 2017/10/02
→Ͱ࣮ࡍʹ௨৴͢Δςετͨ·ʹ ࣦഊ͢Δ͜ͱ͕͋Δ • ඞͣޭ͢Δςετͱͨ·ʹࣦഊͯ͠͠·͏ςε τΛྨ →XcodeͳΒςετίʔυͷλʔήοτΛผʹ͢ ΔͳͲ • ྫ͑CIͰࣗಈςετ͢ΔͳΒࣦഊ͢Δςετ 3ճ࿈ଓͨ͠Βࣦഊͱఆ͢ΔͳͲ
16 Koichiro Oishi, 2017/10/02
ViewͷςετΒͳ͍ͱͩ ΊͰ͔͢ʁ 17 Koichiro Oishi, 2017/10/02
→ViewͷςετΑΓE2Eς ετΛͬͨํ͕ྑ͍ • ViewσβΠϯঢ়ଶ͕มΘΔ͔ΒɺView୯ମͷ ςετͱ͍͏ΑΓεϞʔΫςετE2Eςετ Λͬͨํ͕ྑ͍ → AppiumͳͲ • E2EςετΛߦ͏͜ͱͰਖ਼ৗܥͷςετࣗಈԽ
Ͱ͖Δ → ྫ֎ܥͷෳࡶͳςετਓ͕ؒΔඞཁ͕͋Δ 18 Koichiro Oishi, 2017/10/02
ΧόϨοδʹ͍ͭͯ 19 Koichiro Oishi, 2017/10/02
→ࢦ͖͢ΧόϨοδ • ·ͣϞσϧΛରʹ80ʙ90%Λࢦͤྑ͍ →100%Λࢦ͢ͷͭΒΈ͕૿͢߹ͷ͋Δ ͷͰඞͣ͠ࢦ͞ͳͯ͘Α͍ 20 Koichiro Oishi, 2017/10/02
→ࠓޙΧόϨοδΛҙࣝ͢ Δ͜ͱ • ΧόϨοδ͕ҡ࣋͞Ε͍ͯΔ → ಉ͡ൺͰςετ͕ॻ͔Ε͍ͯΔ ! • ΧόϨοδ͕Լ͕͍ͬͯΔ →
ςετ͕ॻ͔Ε͍ͯͳ͍ " 21 Koichiro Oishi, 2017/10/02
XCTestͳΒXcode্Ͱ֬ೝͰ ͖·͢Ͷʂ 22 Koichiro Oishi, 2017/10/02
͝੩ௌ͋Γ͕ͱ͏ ͍͟͝·ͨ͠ 23 Koichiro Oishi, 2017/10/02