若くない何かの悩み

何かをdisっているときは、たいていツンデレですので大目に見てやってください。

iOS 開発を効率化するテストのデザインパターンについて

iOS Test Night #3 で「開発を効率化するテストのデザインパターン」について話してきました。

speakerdeck.com

スライド中に出て来るパターンのサンプルコードは Kuniwak/TestableDesignExample にあります。

この発表の背景について

この発表は、私が iOS でアプリを書く際に応用したデザインパターンの紹介を目的としてます。 また、その過程で生まれた MirrorDiffKit の宣伝が副目的としてありました。

XCTest の出力はとても非力で、目 diff が無理ならコピーして diff するという非効率なことをやっていました。 この状況から脱却するべく、開発をスタートさせたものが MirrorDiff です。

github.com

この MirrorDiffKit は、Mirror という Reflection API を使って構造的な Diff を視覚的に表示する機能を持っています。 調べてみたところ、XCTest にも Nimble にも diff を表示する機能はなさそうだったので、いまのところ唯一の構造的 diff ライブラリかもしれません。

iOS Test Night の運営の方へ

とても貴重な機会をくださり、とても感謝しています。 発表のフィードバックや、その後の懇親会での会話は非常にためになりました。 ありがとうございました。

懺悔

大変申し訳ございませんでした 😭