Slide 1

Slide 1 text

What's New in Testing!!!

Slide 2

Slide 2 text

ࣗݾ঺հ

Slide 3

Slide 3 text

ࣗݾ঺հ ۄ৓৴ޛ iOS Engineer! ޷͖ͳframework͸HomeKitͱXCTestͰ͢ झຯ" ిࢠ޻࡞⚡ ےτϨ$ ΨδΣοτ%

Slide 4

Slide 4 text

Parallel Testing Localization Block-based test teardown Multi-app Testing FirstMatch API Activities Attachments Async Testing (Xcode8.3)

Slide 5

Slide 5 text

Parallel Testing https://developer.apple.com/videos/play/wwdc2017/102/

Slide 6

Slide 6 text

Localization ςετ࣌ͷLanguage/Regionࢦఆ͕ՄೳʹͳΓ·ͨ͠ɻ xcodebuildͰ͸-testLanguage,-testRegionͰࢦఆՄೳ

Slide 7

Slide 7 text

Block-based test teardown

Slide 8

Slide 8 text

Multi-app Testing

Slide 9

Slide 9 text

Multi-app Testing

Slide 10

Slide 10 text

FirstMatch API

Slide 11

Slide 11 text

FirstMatch API

Slide 12

Slide 12 text

Activities

Slide 13

Slide 13 text

͜Ε·Ͱͷςετ

Slide 14

Slide 14 text

͜Ε·Ͱͷςετ

Slide 15

Slide 15 text

͜Ε͔Βͷςετ

Slide 16

Slide 16 text

࣮ߦϩά͔Βݟͨҧ͍

Slide 17

Slide 17 text

Attachment

Slide 18

Slide 18 text

Screenshots

Slide 19

Slide 19 text

Screenshots

Slide 20

Slide 20 text

Attachment Lifetime Policies

Slide 21

Slide 21 text

Async Testing (Xcode 8.3)

Slide 22

Slide 22 text

XCTWaiter • XCTWaiterͱͯ͠΢ΣΠτॲཧʹؔ͢Δ෦෼͕XCTestCase͔ Β෼཭͠·ͨ͠ɻ • ର৅ͱͳΔexpectationΛ໌ࣔతʹෳ਺Ͱ͖ΔΑ͏ʹͳΓ·͠ ͨɻ • XCTWaiterDelegate • XCTWaiter.Result

Slide 23

Slide 23 text

XCTWaiter

Slide 24

Slide 24 text

XCTWaiter

Slide 25

Slide 25 text

XCTWaiter Explicitly expectation

Slide 26

Slide 26 text

XCTWaiter.Result XCWaiter.Result͕ఆٛ͞Εɺ࣮ߦ݁Ռͱͯ͠ҎԼͷΑ͏ͳ΋ͷ ͕ఆٛ͞Ε͍ͯ·͢ɻ • completed • timedOut • incorrectOrder • invertedFulfillment • interrupted

Slide 27

Slide 27 text

XCTWaiterDelegate • nestedWaiter(_:wasInterruptedByTimedOutWaiter:) • waiter(_:didTimeoutWithUnfulfilledExpectations:) • waiter(_:didFulfillInvertedExpectation:) • waiter(_:fulfillmentDidViolateOrderingConstraintsFor:requir edExpectation:)

Slide 28

Slide 28 text

XCTTestExpectation • expectedFulfillmentCount • isInverted • enforceOrder

Slide 29

Slide 29 text

isInverted

Slide 30

Slide 30 text

expectedFulfillmentCount

Slide 31

Slide 31 text

enforceOrder

Slide 32

Slide 32 text

XCTTestExpectation • ৽͍͠Expectation͕૿͑·ͨ͠ɻ • XCTKVOExpectation • XCTNSNotificationExpectation • XCTNSPredicateExpectation

Slide 33

Slide 33 text

https:// developer.apple.com /videos/play/ wwdc2017/409/

Slide 34

Slide 34 text

Ҏ্