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
ぼっち開発でもテストがしたい! ~導入編~
Search
Yutaro Muta
January 19, 2017
Technology
0
2.6k
ぼっち開発でもテストがしたい! ~導入編~
iOS Test Night #2 (
https://testnight.connpass.com/event/45717/
) で話しました
Yutaro Muta
January 19, 2017
Tweet
Share
More Decks by Yutaro Muta
See All by Yutaro Muta
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
64
Apple Vision Pro購入RTA 1泊3日弾丸ハワイツアー / RTA: Purchase Apple Vision Pro in Hawaii
yutailang0119
0
1.4k
個人開発のたのしみ / Enjoying personal development
yutailang0119
0
900
バックポートして学ぶ新APIの仕組み
yutailang0119
0
2.5k
Backport AsyncImage
yutailang0119
0
660
xcrun Essentials
yutailang0119
6
1.2k
Let's Coding SwiftUI on iPad!
yutailang0119
1
480
Property Wrapperで遊ぼう / Play with Property Wrapper
yutailang0119
2
300
Back of First Screen AB test of Hatena Bookmark iOS app with Firebase AB Testing
yutailang0119
0
290
Other Decks in Technology
See All in Technology
これからSREになる人と、これからもSREをやっていく人へ
masayoshi
6
4.1k
技術的負債解消の取り組みと専門チームのお話 #技術的負債_Findy
bengo4com
1
1.2k
生成AIの利活用を加速させるための取り組み「prAIrie-dog」/ Shibuya_AI_1
visional_engineering_and_design
1
140
Postmanを使いこなす!2025年ぜひとも押さえておきたいPostmanの10の機能
nagix
2
120
Platform Engineeringは自由のめまい
nwiizo
4
1.9k
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.5k
依存関係があるコンポーネントは Barrel ファイルでまとめよう
azukiazusa1
3
530
『AWS Distinguished Engineerに学ぶ リトライの技術』 #ARC403/Marc Brooker on Try again: The tools and techniques behind resilient systems
quiver
0
130
SCSAから学ぶセキュリティ管理
masakamayama
0
140
PL900試験から学ぶ Power Platform 基礎知識講座
kumikeyy
0
110
20250208_OpenAIDeepResearchがやばいという話
doradora09
PRO
0
170
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
120
Featured
See All Featured
Building Your Own Lightsaber
phodgson
104
6.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Automating Front-end Workflow
addyosmani
1367
200k
RailsConf 2023
tenderlove
29
1k
Typedesign – Prime Four
hannesfritz
40
2.5k
Visualization
eitanlees
146
15k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
Scaling GitHub
holman
459
140k
Practical Orchestrator
shlominoach
186
10k
What's in a price? How to price your products and services
michaelherold
244
12k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Transcript
΅ͬͪ։ൃͰςετΛ͍ͨ͠! ~ಋೖฤ~ 2017/01/19_iOS Test Night #2 Yutaro Muta (@yutailang0119)
Who am I ? • ໂా ༟ଠ (@yutailang0119) • iOS
App Developer • ΞϥΠυΞʔΩςΫπגࣜձࣾ • PyCon JP 2016, 2017 ελοϑ • builderscon 2017 ελοϑ (εϙϯαʔืूதʂ) • ࠷ۙPlayground͕͖
None
ίʔυग़͖ͯ·ͤΜ
ϘΫͷςετϨϕϧ • JUnitͱ͔शͬͨ • Objective-CͷࠒʹXCTestΛॻ͍ͯͨ • ࠓͷϓϩδΣΫτʹςετίʔυ͕ͳ͍ • XXXTests/XXXTests.swift •
XXXUITests/XXXUITests.swift ͕͋Δ͚ͩ
“͋͘·Ͱ” Πϝʔδ
@testable import ͕Ͱ͖ͳ͍… (ͳΜͯ͜ͱ)
Goal • “΅ͬͪͰ” ςετΛॻ͘ϞνϕʔγϣϯΛ ্͛Δ • ʑͷෛ୲ΛݮΒ͢
Agenda • ςετΛ͡ΊΔͨΊͷΠϩϋ • ͜ͷςεςΟϯάϑϨʔϜϫʔΫ͕͜͜ϋϚΓͲ͜Ζ • ςεςΟϯάϑϨʔϜϫʔΫΛ͜͏͍͚͍ͬͯͯΔ • ͜͏ͬͯͯ͠ςετ͍ͯ͠Δ •
ΦϨ͕ߟ͑ΔiOSΞϓϦʹ͓͚ΔςελϏϦςΟͷߴ͍ઃܭ • ࠓɺ͜ͷCI͕͍ • ฐࣾͷCI/CDڥ͜Μͳײ͡ʹ͍ͯ͠Δ iOS Test Night connpassϖʔδ ΑΓ
Agenda • ςετΛ͡ΊΔͨΊͷΠϩϋɹతͳԿ͔ • ͜ͷςεςΟϯάϑϨʔϜϫʔΫ͕͜͜ϋϚΓͲ͜Ζ • ςεςΟϯάϑϨʔϜϫʔΫΛ͜͏͍͚͍ͬͯͯΔ • ͜͏ͬͯͯ͠ςετ͍ͯ͠Δ •
ΦϨ͕ߟ͑ΔiOSΞϓϦʹ͓͚ΔςελϏϦςΟͷߴ͍ઃܭ • ࠓɺ͜ͷCI͕͍ • ฐࣾͷCI/CDڥ͜Μͳײ͡ʹ͍ͯ͠Δ iOS Test Night connpassϖʔδ ΑΓ
ࣾͰͷΓऔΓ
ςετΛॻ͖·͠ΐ͏ɻ ॻ͍ͯͨΓલͰ͢ΑͶʁ ςετॻ͘Ί͏
ςετΛॻ͖·͠ΐ͏ɻ ॻ͍ͯͨΓલͰ͢ΑͶʁ ςετॻ͘Ί͏ Web (PHPJava) ͷίϯςΩετͰޠΒΕ͍ͯΔ (߹͕ଟ͍)
ςετΛॻ͖·͠ΐ͏ɻ ॻ͍ͯͨΓલͰ͢ΑͶʁ ςετॻ͘Ί͏ ࠓͷϓϩδΣΫʹXCTestͷڥ͢ΒͰ͖͍ͯͳ͔ͬͨঢ়ଶ
Issues • ։ൃεϐʔυ͕࠷༏ઌ • ͕औΕͳ͍ • ϊϋ͕ͳ͍ • ࣮࣭ࣗ1ਓ •
ࣗಈςετͷڥ͕ͳ͍ • पғͱͷԹࠩ
ςετΛॻ͖࢝ΊΔ·Ͱͷ (ڥత && ৺ཧత) ϋʔυϧ͕ߴ͍
ͦͦͳΜͰςετΛ ॻ͘Μ͚ͩͬʁ
୯ମςετͷಛ • ૣظʹΛൃݟ͢Δ • มߋΛ༰қʹ͢Δ • ౷߹ͷ؆ૉԽ • υΩϡϝϯτ •
ઃܭ Wikipedia <https://ja.wikipedia.org/wiki/୯ମςετ> ΑΓ
ݸਓతʹϝϦοτʹײ͡Δ͜ͱ • ࣭ΛΑ͘͢ΔͨΊͷखॿ͚ʹͳΔ • ෛ୲ΛܰݮͰ͖Δ • ࣮࣌ɺมߋ࣌ͷෛ୲ • ৺ཧతෛ୲
ςετΛॻ͖࢝ΊΔ·Ͱͷ (ڥత && ৺ཧత) ϋʔυϧ͕ߴ͍ ෛ୲ʹͳͬͯΔ
ͱ͍͑… • ࢝ΊΔ͜ͱʹΑΔϝϦοτେ͖͍ͣ • ࠷ۙςετॻ͍ͯͳ͍ํ͕ϚΠϊϦςΟͳؾ ͕…
iOS Test Night #1 Ͱ ͍Ζ͍Ζฉ͍͖ͯͨ͠ɺ ࢝ΊΔͳΒࠓ•̀ . ̫•́✧
΅ͬͪ։ൃ͚ͩͲɺ ςετΛॻ͜͏
Ͳ͔͜ΒςετΛॻ͔͘ʁ • ·ͣϢχοτςετ͔Β 1. جຊܕͷExtensions 2. Model 3. ͦͷޙɺControllerͱ͔ •
UIςετͷݟ͍ͩ͘͞
Ͳ͔͜ΒςετΛॻ͔͘ʁ • ·ͣϢχοτςετ͔Β 1. جຊܕͷExtension <- ͱΓ͋͑ͣ͜͜Ͱ͖ͨ 2. Model 3.
ͦͷޙɺControllerͱ͔ • UIςετͷݟ͍ͩ͘͞
جຊܕͷExtensionͷςετ • Ͳ͜ͰΘΕΔॲཧͳͷ͔Λݟ͢ • ࣮࣌Ͱߟྀ͍ͯͨ͠ͷ͔ෆ໌ྎͳ͜ͱ͕ ग़ͯདྷΔ • Stringૢ࡞ͷ࣌ʹɺֆจࣈͷߟྀ͚ͨͬ͠ʁ • ࣦഊ͖͢ύλʔϯʁ
-> ࣮ࣗମ͕ؒҧ͍ͬͯΔͷͰʁ • UIKitܥ·ͩ
ͦͷଞͬͨ͜ͱ
fastlane • Ͳ͜ͷษڧձͰʮ͍͍ΑʂʯͱݴΘΕΔͷͰ • CIಋೖͷੴʹ • (ࠓͷͱ͜Ζ) ςετΑΓcrashlytics, deliver ͷԸܙ͕େ͖͍
• ਓతϛεΛݮΒͤΔ (ͣ)
• ͱΓ͋͑ͣXCTestͷڥͰ͖ͨ • গ͠Ͱςετ͕͋Δͱɺؾ࣋ͪతʹܧଓ͠ ͍͢ • ࣮Λݟ͍͍͢ػձʹͳͬͨ • ԿΑΓ৺ཧతෆ͕҆ܰݮ͞ΕΔʂʂʂʂ ·ͱΊ
࣍ճ ΅ͬͪ։ൃͰςετΛ͍ͨ͠! ~ӡ༻ฤ~
࣍ճ ΅ͬͪ։ൃͰςετΛ͍ͨ͠! ~ӡ༻ฤ~ Δ͔ʁ