私は職場で作ってきたテストの話のうち、UI Testに近いところの話をしました。
英語での発表は初めてだったのですが、一部想定通りに話せなかったところがありながらも無事に終えることができ、ホットしました。日本以外から来た人含め、いろんな人から英語も聞き取りやすかったし内容も良かったと言って貰えて、ひとまず安心しました。
お題の悩み
私はSwiftを使ったテストの話(Unit Test)をするかとか、protocolベースのDIの話をテストに絡めるか、UI Testの話をするか悩んでいました。
推薦されたことで話すことができるようになったので、try!Swift全体の中でそれぞれの話す内容が重ならない程度の話題にした方がバリエーション豊かになって良いかなと思い、UI Testsやその周辺の話をしました。
ただ、このレイヤの話はSwift自体でそこの話をするにはネタがない。XCUITestとかだとSwiftではなくiOSフレームワークの話になりますしね。半端にSwift x XCUITest(内部コードとか)の話をするよりは、テスト全体とUI Tests、Re-Engineeringnの話をする方が独自性を持った話ができるかと思い、結果的には話すことにしました。
結果的には、unit test関係で想定していたセッションの内容は他のスピーカーの方々が行なっていたので、重ならずに良かったかもしれません。
運営の方からは良かったとフィードバックをいただけたので、推薦いただいたことに対しては役目を果たせたと感じてはいます。
他のセッション
すでに nowsprinting さんがまとめを書いていたので、テストに関してはそこにお任せ。
内容自体はprotocolやstruct付近を使った話で、functional programmingもかじっていると理解を深めることができる内容でした。
The Two Sides of Writing Testable Code
ここで出てきた “co-effect” に関しては以下が参考になるらしいので、少し読んでみようと思います。
ReactNative
3日目のハッカソンでは、その間に行われたReactNativeのゲリラワークショップを経験しました。
- http://artsy.github.io/blog/2017/02/05/Front-end-JavaScript-at-Artsy-2017/
- https://github.com/KazuCocoa/MyArtistExample
ReactNativeのテストには、JSレベルでは jest、UIレベルだと testID を付与してからのUI Test系ですね。
JSの世界でテストが実行できると、unit testでもXCTestよりも素早くテストのサイクルを回すことができて良いですね。
最後に
本当にお疲れ様でした & ありがとうございました