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
140
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.6k
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
コンピュータビジョンの社会実装について考えていたらゲームを作っていた話
takmin
1
480
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
140
脳波を用いた嗜好マッチングシステム
hokkey621
0
170
システム・ML活用を広げるdbtのデータモデリング / Expanding System & ML Use with dbt Modeling
i125
1
260
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
370
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
15
4.1k
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
280
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
1.1k
RSNA2024振り返り
nanachi
0
620
Building Products in the LLM Era
ymatsuwitter
10
6.1k
レビューを増やしつつ 高評価維持するテクニック
tsuzuki817
1
830
ローカルLLMを活用したコード生成と、ローコード開発ツールへの応用
kazuhitoyokoi
0
130
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
34
3.1k
Building Adaptive Systems
keathley
40
2.4k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
A designer walks into a library…
pauljervisheath
205
24k
Visualization
eitanlees
146
15k
For a Future-Friendly Web
brad_frost
176
9.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
How GitHub (no longer) Works
holman
314
140k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Scaling GitHub
holman
459
140k
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ͷڥͰ͖ͨ • গ͠Ͱςετ͕͋Δͱɺؾ࣋ͪతʹܧଓ͠ ͍͢ • ࣮Λݟ͍͍͢ػձʹͳͬͨ • ԿΑΓ৺ཧతෆ͕҆ܰݮ͞ΕΔʂʂʂʂ ·ͱΊ
࣍ճ ΅ͬͪ։ൃͰςετΛ͍ͨ͠! ~ӡ༻ฤ~
࣍ճ ΅ͬͪ։ൃͰςετΛ͍ͨ͠! ~ӡ༻ฤ~ Δ͔ʁ