Slide 1

Slide 1 text

1 2017.12.05 @iOS Test Night ੒௕Մೳੑʹ ϓϩδΣΫτͷ1ϑΝΠϧʹ୯ମςετΛॻ͍ͯΈͨʂ ʙຊ౰ʹ͜ΕͰ߹ͬͯΔͷ…??ʙ @takattata

Slide 2

Slide 2 text

2 To do ΍Γ͍ͨ͜ͱ

Slide 3

Slide 3 text

3 ままのて ΍Γ͍ͨ͜ͱ

Slide 4

Slide 4 text

4 ままのて ΍Γ͍ͨ͜ͱ ɾΫϦʔϯΞʔΩςΫνϟ ɾ4XJGU ɾ9DPEF ɾ$PDPB1PET ɾ#JUSJTF ˠ9$5FTUͰ͜ͷϓϩδΣΫτͷςετΛॻ͖͍ͨ

Slide 5

Slide 5 text

5 ʮ·ͣ%BUB4UPSFͷςετΛॻ͍ͯΈΑ͏ʯ ͱ͍͏༁Ͱ'BWPSJUF%BUB4UPSFΫϥεΛબ୒ ˣ͜Μͳײ͡ͷಈ͖ ΍Γ͍ͨ͜ͱ Ϋϥε಺ͷؔ਺ ɾFYJTUT ࠨ͕࣮෺  ɾHFU"MM ɾDSFBUF
 ɾEFMFUF

Slide 6

Slide 6 text

6 ͓खݩʹTwitterͷ४උΛ͓ئ͍͠·͢!! ࠓճͲ͏ઃఆ͠ɺॻ͍͔ͨΛ࿩ͤͯ͞௖͖·͕͢ɺ
 ʮ΢ν΋ͦ͏ͯ͠ΔΑʔʯʮ͜͏͡Όͳ͍ʁʯͳͲɺ
 ੋඇ!ͲΜͲΜ!ᄁ͍͍ͯͩ͘͞!!(ޙ௥͍͢ΔͷͰ!) #ios_test_night ෇͚ͯੋඇ!͓ئ͍͠·͢!! ɹ͓ئ͍!!ɹ

Slide 7

Slide 7 text

7 ࿩ͷྲྀΕ ɾॻ͍ͨςετͷߏ੒ ɾ3Y4XJGUͷςετͷॻ͖ํ ɾ$PDPB1PETͷઃఆ ɾϓϩδΣΫτͷઃఆ ɾ#JUSJTFͷઃఆ

Slide 8

Slide 8 text

8 Structure ॻ͍ͨςετͷߏ੒ ࣭໰

Slide 9

Slide 9 text

9 ςετͷߏ੒ ॻ͍ͨςετͷߏ੒ 'BWPSJUF%BUB4UPSF5FTUTΫϥε 'BWPSJUF%BUB4UPSFΫϥεΛϝϯόม਺ʹ࣋ͪɺඇಉظςετ͢Δ ςετର৅ɿ'BWPSJUF%BUB4UPSFΫϥε 'JSFCBTFʹΞΫηεͯ͠σʔλͷ΍ΓऔΓΛ͢Δ ˠ͜ͷ෦෼ΛϞοΫʹࠩ͠ସ͑Δ 'BWPSJUF%BUB4UPSF.PDLΫϥε 'JSFCBTFͷ୅ΘΓʹ഑ྻʹอ࣋ͯ͠΍ΓऔΓΛ͢Δ

Slide 10

Slide 10 text

10 ɾςετର৅ͷFavoriteDataStoreΛϝϯόม਺Ͱ͍࣋ͨͤͯΔ @FavoriteDataStoreTestsΫϥε ॻ͍ͨςετͷߏ੒ ※Ҏ߱ɺίʔυͰ”Dao”ͱॻ͔Ε͍ͯ·͕͢ɺDataStoreʹ೴಺ஔ׵Λ͓ئ͍͠·͢ɻ

Slide 11

Slide 11 text

11 ॻ͍ͨςετͷߏ੒ @FavoriteDataStoreMockΫϥε

Slide 12

Slide 12 text

12 @FavoriteDataStoreΫϥε Q1. ςετͷ࣌ͷͨΊʹΘ͟Θ͟ϞοΫΛϝϯόม਺ʹ࣋ͭ΋ͷʁ
 Q2. ςετͷ࣌͸ͪ͜ΒΛ௨ΔΑ͏ʹifจͰ෼ذ͔͠ํ๏ͳ͍ͷʁ ॻ͍ͨςετͷߏ੒

Slide 13

Slide 13 text

13 Using RxSwift RxSwiftͷςετͷॻ͖ํ ࣭໰

Slide 14

Slide 14 text

14 3Y4XJGUͷςετͷॻ͖ํ @FavoriteDataStoreTestsΫϥε Q3. create͞Ε͔ͯΒexistsΛ࠶֬ೝ͠Α͏ͱ͍ͯ͠·͢ɻ
 ڍಈͱͯ͠͸ҙਤͨ͠΋ͷʹͳ͍ͬͯ·͕͢ɺ
 ॻ͖ํ߹ͬͯ·͔͢???

Slide 15

Slide 15 text

15 Setting CocoaPods CocoaPodsͷઃఆ ࣭໰

Slide 16

Slide 16 text

16 $PDPB1PETͷઃఆ @Podfile … Q4. :search_pathsʹ͢Δͱɺ͜͜ʹ΋pod ‘Firebase’Λ͠ͳ͍ͱౖΒΕ Δ…ɻ1จͰઆ໌͞ΕͯΔͷ͔͠ݟ౰ͨΒͣɺҧ͍ͷৄࡉ͕஌Γ͍ͨͰ͢ɻ
 Q5. ೖΕࢠʹͨ͠Βग़དྷ্͕Δtestλʔήοτͷ.framework໊͕Pods_ϓ ϩδΣΫτ໊_ϓϩδΣΫτ໊TestsʹมΘΓ·ͤΜʁආ͚ํ͋Γ·͢ʁ
 Q6. ೖΕࢠʹͤͣʹɺdef common_pods … endͷΑ͏ʹͯͦ͠ΕͧΕͷ targetͰݺΜͰΔਓ΋͍·͕ͨ͠ɺօ͞ΜͲ͏͞Εͯ·͢ʁ ※Q5ͷΑ͏ʹframework໊͕มΘΔ͜ͱʹΑΓɺFrameworksͷࢀর͔Β
 ݩͷ໊લͷ.frameworkΛ࡟আ͢Δඞཁ͕͋Γ·ͨ͠ɻ

Slide 17

Slide 17 text

17 Setting project ϓϩδΣΫτͷઃఆ ࣭໰

Slide 18

Slide 18 text

18 ϓϩδΣΫτͷઃఆ Edit Scheme… > Test > InfoλϒΑΓ

Slide 19

Slide 19 text

19 ϓϩδΣΫτͷઃఆ TARGETS: ϓϩδΣΫτ໊Tests > Build Settings > pod install͢ΔͱˣͷΑ͏ʹౖΒΕΔͷͰɺ Yes ͔Β $(inherited) ʹมߋ

Slide 20

Slide 20 text

20 Setting Bitrise Bitriseͷઃఆ ࣭໰

Slide 21

Slide 21 text

21 ϓϩδΣΫτͷઃఆ Workflow > StagingͷΈ ڬΜ͚ͩͩ

Slide 22

Slide 22 text

22 ʮ·ͣDataStoreͷςετΛॻ͍ͯΈΑ͏ʯ ଘ෼ʹᄁ͍ͯ௖͚ͨͰ͠ΐ͏͔?
 ͝ڠྗ͋Γ͕ͱ͏͍͟͝·ͨ͠!!
 ࠙਌ձͰ΋ੋඇ৭ʑ͓࿩ฉ͔͍ͤͯͩ͘͞!!
 ಛʹ”RxTest”ͷ࢖͍ॴͱ͔!! MISSION:
 COMPLETE