Slide 1

Slide 1 text

ίʔυΧόϨοδͱͷ෇͖߹͍ํ Λ஌ͬͯςετΛॻ͘ 2019/04/10 Otemachi.swift #3 kariad/͔Γ͋Ͳ(@kariad_uu) 1

Slide 2

Slide 2 text

ࣗݾ঺հ • kariad / @kariad_uu • ยࢁ େथ • ΦΠγοΫεɾϥɾେ஍ iOS App Developer • / / V / ςετ / ઃܭ 2

Slide 3

Slide 3 text

ίʔυΧόϨοδܭଌͯ͠·͔͢ʁ 3

Slide 4

Slide 4 text

• ΧόϨοδ͸100%ͳΒ
 શ෦ςετͰ͖͍ͯͯେৎ෉ɺ
 
 Ͱ͸ͳ͍…ʂ

Slide 5

Slide 5 text

ΧόϨοδͷछྨʹΑΔ໰୊

Slide 6

Slide 6 text

ΧόϨοδʹ͸छྨ͕͋Δ • εςʔτϝϯτΧόϨοδ(C0) • ϒϥϯνΧόϨοδ(C1) • ίϯσΟγϣϯΧόϨοδ(C2)౳

Slide 7

Slide 7 text

εςʔτϝϯτΧόϨοδ • ໋ྩจͷ௨ա཰

Slide 8

Slide 8 text

x: 2, y: 2ͷ1έʔεͰΧόϨοδ100%

Slide 9

Slide 9 text

ϒϥϯνΧόϨοδ • ෼ذͷ໢ཏ཰

Slide 10

Slide 10 text

(x: 2, y: 2), (x: 0, y: 0)ͷ2έʔεͰΧόϨοδ100%

Slide 11

Slide 11 text

• εςʔτϝϯτΧόϨοδ͸Ͳͷ ifจʹ΋ೖΒͳ͍ೖྗ͕ͳͯ͘΋ 100% ➡ શ໢ཏͱ͍͏؍఺Ͱ͸࿙Ε͕͋Δ

Slide 12

Slide 12 text

x: 0, y: 0͸ͳͯ͘΋100%

Slide 13

Slide 13 text

• XcodeͰܭଌͰ͖Δͷ͸εςʔτ ϝϯτΧόϨοδ(ϥΠϯΧό Ϩοδ) • JaCoCo΍Jest͸ϒϥϯνΧόϨο δ͕औΕΔ…

Slide 14

Slide 14 text

ΧόϨοδͰ͸ ݟΔ͜ͱ͕Ͱ͖ͳ͍໰୊

Slide 15

Slide 15 text

ΧόϨοδ100%Ͱ΋଍Γͳ͍෦෼ ςετͷೖྗ஋͕10ͩͱ৚͕݅5Ҏ্Ͱ΋੒ޭ͢Δ

Slide 16

Slide 16 text

• ڥք஋෼ੳ • όά͕ى͖΍͍͢ͷ͸͜͏ݴͬͨ ڥքͷ෦෼ͳͷͰڥքʹண໨͢Δ

Slide 17

Slide 17 text

·ͱΊ • ΧόϨοδ100%Λͨͩ໨ࢦͯ͠΋ޮՌ͸൒ݮ • ΧόϨοδͷܭଌํ๏΍ڥք஋Λҙ্ࣝͨ͠ͰՁ ஋ͷ͋ΔςετΛॻ͜͏ • ଍Γ͍ͯΔࣄΛূ໌͸Ͱ͖ͳ͍͕ɺ଍Γ͍ͯͳ͍ ࣄ͸ূ໌Ͱ͖ΔͨΊɺΧόϨοδΛܭଌ͢Δ͜ͱ ͸େࣄ

Slide 18

Slide 18 text

ٕज़ॻయ6 ͚11 https://techbookfest.org/event/tbf06/circle/54660004

Slide 19

Slide 19 text

ͳͥεςʔτϝϯτΧόϨοδ ͚ͩͳͷ͔ • AppleͷυΩϡϝϯτʹ͸
 ʮCode coverage in Xcode is a testing option supported by LLVMʯ ➡ ΧόϨοδऔಘ͸LLVMͷػೳ https://developer.apple.com/library/archive/documentation/DeveloperTools/ Conceptual/testing_with_xcode/chapters/07-code_coverage.html

Slide 20

Slide 20 text

ClangͷυΩϡϝϯτʹ͸ҎԼͷ 4͕ͭܭଌͰ͖Δͱॻ͍ͯ͋Δ • Function coverage • Instantiation coverage • Line coverage • Region coverage ClangͰ৭ʑऔΕΔͳΒಉ͡LLVM࢖͏SwiftͰ΋औΕͳ͍͔ͳ… https://clang.llvm.org/docs/SourceBasedCodeCoverage.html

Slide 21

Slide 21 text

https://llvm.org/docs/ CoverageMappingFormat.html https://llvm.org/docs/CommandGuide/llvm- cov.html ͦͷଞࢀߟURL