若くない何かの悩み

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

退職の前座エントリ

本日株式会社ミクシィを退職いたしました。

さて、クニワックは各所に挨拶回りをした後、帰宅しました。するとたちどころに体調の悪さを訴え、めでたく38℃の発熱を記録しました。健康保険証は返却済み!明日は高額勉強会のtry! Swift!クニワックはどうなるんだ!!

よって退職エントリは後日執筆いたします。お楽しみに!


追記: try! Swift にはいけませんでした 😇

コスパで学ぶ自動テストのはじめ方

Qiita 週間ランキング1位を獲得しました Kuniwak です。ご愛顧ありがとうございます。

qiita.com

さて、本題に移りたいと思います。

つい最近ですが、勤め先の別チームに向けて自動テストの導入を支援するための資料を作成しておりました。こちらを共有したいと思います。

speakerdeck.com

資料中にある「仕様化テストを推奨しない」という決断には賛否両論あるかと思います。仕様化テストを推奨しなかった理由は、仕様化テストにかかるコストは相当に高く、本当に余裕があるときでないと選べない選択肢だったからです。今回自動テストを導入しようとしているチームは、見るからに余裕のない状況だったので仕様化テストからやれとは言えませんでした。

もし、「自分だったらこうする」等のアドバイスがあれば、ぜひ参考にしたいと思います。コメントなどに書いていただけると嬉しいです。

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 の運営の方へ

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

懺悔

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