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
プロジェクトの1ファイルに単体テストを書いてみた!〜本当にこれで合ってるの…??🤔〜
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
takattata
December 05, 2017
Programming
0
2.3k
プロジェクトの1ファイルに単体テストを書いてみた!〜本当にこれで合ってるの…??🤔〜
iOS Test Night #6にて発表した時の資料です!
takattata
December 05, 2017
Tweet
Share
More Decks by takattata
See All by takattata
What's DDD?
takattata
5
910
Kotlinのコントリビュートに挑戦してみたよ!
takattata
3
300
導入画面を実装したよ
takattata
1
2k
AndroidXに移行しようと`してみた`!
takattata
2
730
Flutterテストことはじめ
takattata
1
840
Flutter
takattata
3
1.6k
ディープリンクを実装した
takattata
1
1.9k
introduce unit testing
takattata
1
590
xUnit Test Patterns の序章
takattata
1
380
Other Decks in Programming
See All in Programming
日本だけで解禁されているアプリ起動の方法
ryunakayama
0
370
CSC307 Lecture 11
javiergs
PRO
0
590
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
190
Swift ConcurrencyでよりSwiftyに
yuukiw00w
0
250
Unity6.3 AudioUpdate
cova8bitdots
0
110
守る「だけ」の優しいEMを抜けて、 事業とチームを両方見る視点を身につけた話
maroon8021
3
300
AI活用のコスパを最大化する方法
ochtum
0
120
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
230
あなたはユーザーではない #PdENight
kajitack
4
300
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
470
2026年は Rust 置き換えが流行る! / 20260220-niigata-5min-tech
girigiribauer
0
220
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
350
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Bash Introduction
62gerente
615
210k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
220
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.2k
Utilizing Notion as your number one productivity tool
mfonobong
4
250
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
How GitHub (no longer) Works
holman
316
140k
Designing Powerful Visuals for Engaging Learning
tmiket
0
260
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
300
WENDY [Excerpt]
tessaabrams
9
36k
Transcript
1 2017.12.05 @iOS Test Night Մೳੑʹ ϓϩδΣΫτͷ1ϑΝΠϧʹ୯ମςετΛॻ͍ͯΈͨʂ ʙຊʹ͜ΕͰ߹ͬͯΔͷ…??ʙ @takattata
2 To do Γ͍ͨ͜ͱ
3 ままのて Γ͍ͨ͜ͱ
4 ままのて Γ͍ͨ͜ͱ ɾΫϦʔϯΞʔΩςΫνϟ ɾ4XJGU ɾ9DPEF ɾ$PDPB1PET ɾ#JUSJTF ˠ9$5FTUͰ͜ͷϓϩδΣΫτͷςετΛॻ͖͍ͨ
5 ʮ·ͣ%BUB4UPSFͷςετΛॻ͍ͯΈΑ͏ʯ ͱ͍͏༁Ͱ'BWPSJUF%BUB4UPSFΫϥεΛબ ˣ͜Μͳײ͡ͷಈ͖ Γ͍ͨ͜ͱ Ϋϥεͷؔ ɾFYJTUT ࠨ͕࣮ ɾHFU"MM
ɾDSFBUF ɾEFMFUF
6 ͓खݩʹTwitterͷ४උΛ͓ئ͍͠·͢!! ࠓճͲ͏ઃఆ͠ɺॻ͍͔ͨΛ͖ͤͯ͞·͕͢ɺ ʮνͦ͏ͯ͠ΔΑʔʯʮ͜͏͡Όͳ͍ʁʯͳͲɺ ੋඇ!ͲΜͲΜ!ᄁ͍͍ͯͩ͘͞!!(ޙ͍͢ΔͷͰ!) #ios_test_night ͚ͯੋඇ!͓ئ͍͠·͢!! ɹ͓ئ͍!!ɹ
7 ͷྲྀΕ ɾॻ͍ͨςετͷߏ ɾ3Y4XJGUͷςετͷॻ͖ํ ɾ$PDPB1PETͷઃఆ ɾϓϩδΣΫτͷઃఆ ɾ#JUSJTFͷઃఆ
8 Structure ॻ͍ͨςετͷߏ ࣭
9 ςετͷߏ ॻ͍ͨςετͷߏ 'BWPSJUF%BUB4UPSF5FTUTΫϥε 'BWPSJUF%BUB4UPSFΫϥεΛϝϯόมʹ࣋ͪɺඇಉظςετ͢Δ ςετରɿ'BWPSJUF%BUB4UPSFΫϥε 'JSFCBTFʹΞΫηεͯ͠σʔλͷΓऔΓΛ͢Δ ˠ͜ͷ෦ΛϞοΫʹࠩ͠ସ͑Δ 'BWPSJUF%BUB4UPSF.PDLΫϥε 'JSFCBTFͷΘΓʹྻʹอ࣋ͯ͠ΓऔΓΛ͢Δ
10 ɾςετରͷFavoriteDataStoreΛϝϯόมͰ͍࣋ͨͤͯΔ @FavoriteDataStoreTestsΫϥε ॻ͍ͨςετͷߏ ※Ҏ߱ɺίʔυͰ”Dao”ͱॻ͔Ε͍ͯ·͕͢ɺDataStoreʹஔΛ͓ئ͍͠·͢ɻ
11 ॻ͍ͨςετͷߏ @FavoriteDataStoreMockΫϥε
12 @FavoriteDataStoreΫϥε Q1. ςετͷ࣌ͷͨΊʹΘ͟Θ͟ϞοΫΛϝϯόมʹ࣋ͭͷʁ Q2. ςετͷ࣌ͪ͜ΒΛ௨ΔΑ͏ʹifจͰذ͔͠ํ๏ͳ͍ͷʁ ॻ͍ͨςετͷߏ
13 Using RxSwift RxSwiftͷςετͷॻ͖ํ ࣭
14 3Y4XJGUͷςετͷॻ͖ํ @FavoriteDataStoreTestsΫϥε Q3. create͞Ε͔ͯΒexistsΛ࠶֬ೝ͠Α͏ͱ͍ͯ͠·͢ɻ ڍಈͱͯ͠ҙਤͨ͠ͷʹͳ͍ͬͯ·͕͢ɺ ॻ͖ํ߹ͬͯ·͔͢???
15 Setting CocoaPods CocoaPodsͷઃఆ ࣭
16 $PDPB1PETͷઃఆ @Podfile … Q4. :search_pathsʹ͢Δͱɺ͜͜ʹpod ‘Firebase’Λ͠ͳ͍ͱౖΒΕ Δ…ɻ1จͰઆ໌͞ΕͯΔͷ͔͠ݟͨΒͣɺҧ͍ͷৄࡉ͕Γ͍ͨͰ͢ɻ Q5. ೖΕࢠʹͨ͠Βग़དྷ্͕Δtestλʔήοτͷ.framework໊͕Pods_ϓ
ϩδΣΫτ໊_ϓϩδΣΫτ໊TestsʹมΘΓ·ͤΜʁආ͚ํ͋Γ·͢ʁ Q6. ೖΕࢠʹͤͣʹɺdef common_pods … endͷΑ͏ʹͯͦ͠ΕͧΕͷ targetͰݺΜͰΔਓ͍·͕ͨ͠ɺօ͞ΜͲ͏͞Εͯ·͢ʁ ※Q5ͷΑ͏ʹframework໊͕มΘΔ͜ͱʹΑΓɺFrameworksͷࢀর͔Β ݩͷ໊લͷ.frameworkΛআ͢Δඞཁ͕͋Γ·ͨ͠ɻ
17 Setting project ϓϩδΣΫτͷઃఆ ࣭
18 ϓϩδΣΫτͷઃఆ Edit Scheme… > Test > InfoλϒΑΓ
19 ϓϩδΣΫτͷઃఆ TARGETS: ϓϩδΣΫτ໊Tests > Build Settings > pod install͢ΔͱˣͷΑ͏ʹౖΒΕΔͷͰɺ
Yes ͔Β $(inherited) ʹมߋ
20 Setting Bitrise Bitriseͷઃఆ ࣭
21 ϓϩδΣΫτͷઃఆ Workflow > StagingͷΈ ڬΜ͚ͩͩ
22 ʮ·ͣDataStoreͷςετΛॻ͍ͯΈΑ͏ʯ ଘʹᄁ͍͚ͯͨͰ͠ΐ͏͔? ͝ڠྗ͋Γ͕ͱ͏͍͟͝·ͨ͠!! ࠙ձͰੋඇ৭ʑ͓ฉ͔͍ͤͯͩ͘͞!! ಛʹ”RxTest”ͷ͍ॴͱ͔!! MISSION: COMPLETE