わかっているつもりを見分ける

OJT

仕事の進め方や技術面など、何かを教えた後は「わかりました」と言われる。 しかし一度言われた程度で習慣が改善されたり、技術が身につくことはほとんどない。 額面通りに受け取ってしまうとこちらが勝手に期待してがっかりした…。みたいなことになる。 完…

マッチャーを使い分けながらテストを簡潔に記載する

テストランナーにはマッチャー(Matcher)1というAPIが存在する。これは、テストを実行するライブラリ(テストランナー)に「こんな検証をしてほしい」と伝えてテストを実行してもらうための関数である。マッチャーの使い方を知っていると、初めて出てくる仕…

UIコンポーネントテストでユーザーイベントを再現するときのポイント

UIコンポーネントテストでは「ボタンをクリックするとテキストが表示されることを確かめたい」など、ユーザーの操作を再現したい場面が出てくる。 ユーザー操作の種類は無限にあるように見えるが、考え方を身につけていればUIコンポーネントテストを書ける。…

UIコンポーネントテストで要素を取得する

UIコンポーネントテストで鬼門となるのは「テスト対象の要素を取得する」ことである。 要素が取得できないとそもそもテストしようがないのである。UIコンポーネントパーツはお決まりのパターンがあるので真似れば良いが、100%参考にできるわけでもない。また…

初期状態(props)を活用して仕様を表現する

ここでの初期状態とはUIコンポーネントテストを書くとき設定するpropsのことである。 propsが複数ある場合、全てのパターンを網羅しようとすると組み合わせの数次第ではテスト数が膨大になる。 すると、テストケースの維持やメンテナンスが難しくなる。 自動…

UIコンポーネントテストを書く流れ

UIコンポーネントテストをいきなり書くのは難しい。最初にテストを書く流れを抑えたあと書き始めると良い。 テスト用ライブラリの思想を理解する(最初の1回のみ) UIコンポーネントの仕様を言語化する 言語化したものを元にTODOリストを作る TODOリストを元…

なぜUIコンポーネントテストは難しいのか

UIコンポーネントテストを書く行為は後回しになりやすい。それは難しさが要因に含まれているからと考えられる。 どのような部分が難しいのだろうか。 セットアップが難しいから UIコンポーネントを動かすためにはブラウザ環境を擬似的に再現する必要がある。…

UIコンポーネントテストと単体テストの違い

UIコンポーネントテストは単体テストと似ている面もありつつ、異なる点も存在する。両者の違いを明確にすることで更に理解を深めたい。 単体テストとは 『【この1冊でよくわかる】 ソフトウェアテストの教科書 [増補改訂 第2版]』1によると、単体テストは次…

UIコンポーネントテストとは何か

普段何気なく書いているUIコンポーネントテストについてまとめた。 UIコンポーネントテストは、「UIコンポーネント」の動作を自動的にテストするプロセスである。「UIコンポーネント」について、Reactの公式ドキュメント1では以下のように説明されている。 R…

これからはじめるReact実践入門を読んだ

これからはじめるReact実践入門 を読んだ。感想メモをまとめる。 全体の感想 これからReact.jsを始める人におすすめできる一冊だなと思った。一番最初にJavaScriptの登場からなぜReact.jsが出てきたのか?を説明している項があるため、React.jsは何が嬉しい…