要件定義の不安をなくす。要件定義の不安をなくす。ユニファのバックエンド分割に学ぶイノベーションメタバース開発に必要な技術の基本知識をおさらい。Boost」など、さまざまなカンファレンスを企画・運営しています。BOOKS(コードジン・ブックス)は、CodeZineの連載からカットアップした、開発現場の課題解決に役立つ書籍シリーズです。KB)Reactアプリ開発の基礎を解説してきた本連載。前回までは、Reduxの概念や実装について学んできました。今回は、ReducerやActionCreatorのロジックの品質を担保する上で有用なユニットテストの方法を覚えることを目的とします。筆者の検証環境は以下の通りです。1.1.4内)自動テストとテスティングフレームワークアプリケーションを作成する際には、実際に動かしながらトライ・アンド・エラーを繰り返し、意図したとおりに動いているかを確認していくスタイルで開発を進める方も多いと思います。残念ながら、一度作成した機能のすべてを手作業で確認し続けるのは事実上不可能です。一部の機能に限れば、動作確認を自動化することもできます。この自動化された動作確認を自動テストと呼ぶことにします。自動テストは動作確認のための関数を用意し、その中でテスト対象の関数を呼び出す形で作成するのが一般的です。リスト1に示したコードのような関係だと考えてください。}}(1)のtest関数を実行すれば、特定のパラメータにおけるsum関数の動作を検証できますね。この考え方で動作確認のコードは書けそうです。ところで、この関数はどうやって実行すればよいのでしょうか。テスト用の関数の数は、アプリの規模によっては数百にもなります。Node.jsのスクリプトとして実行するにしても、管理の手間がかかりそうです。所定の形式で書いたテスト用の関数をすべて実行し、どのテストが成功してどのテストが失敗したのかを集計してくれるような、そんなツールがあれば嬉しいですね。テストコードの実行と結果の集計をしてくれるツールのことを、テスティングフレームワークと呼びます。自動テストを実施する上では、なくてはならない存在です。本記事では、create-react-appに内蔵されているテスティングフレームワークである、Jestを題材にして、Reduxアプリケーションの自動テストについて解説します。JestとはJestはFacebook社が開発している、JavaScriptとReactのためのテスティングフレームワークです。豊富な機能を持ちつつも、事前に設定ファイルやビルドツールを用意する必要がほとんどない手軽さも兼ね備えています。create-react-appを使っている場合はさらに手軽で、何も準備しなくても初めからJestが組み込まれています。testを実行すれば、Jestによるテストが始まります。