qrcode.react とスナップショットテストの相性が最高すぎた
qrcode.react
は、その名の通りQRコードを生成してくれるReactコンポーネントだ。
github.com
ファイル構成はsrc/index.js
でゴリゴリ計算というか文字列を算出し、コンポーネントを返す構成だった。
テストがなかったので、テストを追加したかったのだが、何に対してテストを追加すればよいのかわからず、しばらく放置していた。
convertStr
関数やgeneratePath
関数の入力と出力に対する単体テストを追加しようと思ったけれど、あまり恩恵はないように思えた。
qrcode.react/index.js at 6aeb42abc26ffecc868b630b6ad8f507d2125813 · zpao/qrcode.react · GitHub
qrcode.react/index.js at 6aeb42abc26ffecc868b630b6ad8f507d2125813 · zpao/qrcode.react · GitHub
そんなとき、以下の記事を目にした。
www.mizdra.net
試しにqrcode.react
で試してみると、とてもよい結果が得られた。
何がよかったかと思うと、convertStr
関数やgeneratePath
関数の入力と出力に対する単体テストをせずとも、それらがうまく機能していることを保証でき、なにより、path
コンポーネントのd
の値の複雑性がスナップショットの出力により明らかになり、スナップショットの結果が1つの情報としても機能しているところだ。
<path d="M0,0 h29v29H0z" fill="#ffffff" /> <path d="M0 0h7v1H0zM8 0h1v1H8zM10 0h5v1H10zM17 0h2v1H17zM22,0 h7v1H22zM0 1h1v1H0zM6 1h1v1H6zM9 1h2v1H9zM13 1h1v1H13zM19 .... fill="#000000" />
マージされなくてもブログを書けば供養できると思って書いた。