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
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
900
Kotlinのコントリビュートに挑戦してみたよ!
takattata
3
300
導入画面を実装したよ
takattata
1
2k
AndroidXに移行しようと`してみた`!
takattata
2
720
Flutterテストことはじめ
takattata
1
810
Flutter
takattata
3
1.6k
ディープリンクを実装した
takattata
1
1.8k
introduce unit testing
takattata
1
580
xUnit Test Patterns の序章
takattata
1
360
Other Decks in Programming
See All in Programming
新世界の理解
koriym
0
130
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
130
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
290
物語を動かす行動"量" #エンジニアニメ
konifar
14
4.5k
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
150
iOS開発スターターキットの作り方
akidon0000
0
240
PHPカンファレンス関西2025 基調講演
sugimotokei
6
1.1k
ライブ配信サービスの インフラのジレンマ -マルチクラウドに至ったワケ-
mirrativ
1
150
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
2.1k
AIのメモリー
watany
13
1.4k
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
150
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
230
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
524
40k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
800
Optimising Largest Contentful Paint
csswizardry
37
3.4k
A Tale of Four Properties
chriscoyier
160
23k
Designing for Performance
lara
610
69k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
KATA
mclloyd
32
14k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Why Our Code Smells
bkeepers
PRO
337
57k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
139
34k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
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