10章テスト

競合に遅れを取らないために、Web開発者は品質を保ちつつ矢継ぎ早に機能をリリースする必要があります。そのために欠かせないものがユニットテストです。アプリケーションのコードをテスト可能な単位に分割して、ユニットテストを記述しておくことで、頻繁に変更を加えてもコードベースの品質は保証されます†1

[†1] 詳しくはMartin Fowlerによるブログ記事「UnitTest」(https://martinfowler.com/bliki/UnitTest.html)を参照してください

また、3章でも触れましたが、関数型のアプローチをとることで、ユニットテストが容易になるという副作用があります。純粋関数やイミュータブルといった原則や、小さな関数を合成してより大きな関数を作るという関数型のアプローチは、そのままテストしやすいアプリケーションの特徴に繋がります。

この章では、Reactベースのアプリケーションのテスト環境を構築します。またテストだけでなく、構文チェックやコード整形、型チェックなど、コードの品質を上げるために使用可能なツールについても説明します。

10.1 ESLint

多くのプログラミング言語は実行する前にコンパイルという工程が必要です。コンパイルするにはソースコードは厳格なルールに従って記述されている必要があります。少しでも文法に違反しているとコンパイルが通りません。一方、JavaScriptにはコンパイルという工程はなく、ソースコードをそのまま実行することが可能です。そのためJavaScriptのプログラミングは、コードを書いて、試しにブラウザで実行して、動かなければ修正して、といった原始的なものになりがちです。そこで、ブラウザで実行する前にコードを解析して構文やフォーマットのチェックを行うツールが登場しました。 ...

Get Reactハンズオンラーニング 第2版 ―Webアプリケーション開発のベストプラクティス now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.