水面下の夢

競プロやイラストに興味があります.メインブログがここ.同人サークル「かのらぶ」のページはこっち( https://yumechi0525.amebaownd.com ).ブログアイコンはYaQ(@8_9_00)さんから.

【サポーターズCoLab勉強会】スナップショットテストのすゝめに参加してきました

スナップショットテストって何だ? っていうのが気になったので、急遽参加してきました。おそらくテスト自動化に関連しそうだなーと思っていて、すごく興味がありました。

勉強会URL

https://supporterzcolab.com/event/186/

講師

@ kentt8046 様

スライド

qiita.com

概要

この日、ノートPCを持たず、時間がたまたまあったので行ってきた、みたいな感じで、ほとんどツイートのメモしか残っていないんですね。

概要としましては、

  • テストを書いていない人はテストを書こうね
  • JestっていうFacebook様のライブラリが便利ですよ
    • 特にReactと相性がいい
    • TypeScript、JavaScriptで使える
  • テスト自動化することで回帰テストも容易になるので、最初からテスト自動化する工数を取ろう
  • スナップショットとはテストデータのアウトプット値
  • スナップショットテストとは、スナップショットと現在のプログラムの出力の比較
  • 乱数とか含む場合は過去の結果と必ずしも一致しないため、スナップショットに含めず、型だけでも確認しておく

下記、乱雑なツイート郡。

まとめ

このあと自分が取った行動としては、

  • t_wadaさんの本を買った、そして半分くらい読んだ
  • 実際にJestを手を動かして実感中
  • Jestが使えない環境で、mocha/chai を使ってみたり
    • これもちょっと環境的な問題で挫折していたのですが、共通関数とかのテストはある程度かけたので、環境的な問題をなんとか解決する方針に持っていけないかなあ…

と、テスト自動化に興味津々で色々試すようになりました。 今、JavaScriptばかりでやっていますが、他の言語でもテスト自動化のためのライブラリ、フレームワークがあるので、どの言語で開発するにしろ、その手のものは早めに抑えるようにしたいですね。

あとテスト自動化のためのテストコードを書くのにも慣れたいです。開発用コードを書くときとはまた違ったコツが必要な気がしている。

というわけで、テスト自動化は楽しいし、役に立つはずなのでやっていきましょう!