メインコンテンツまでスキップ

【課題】todoSlices の「reducers」と「extraReducers」のテストを書く

今回も課題を出します。

課題内容は、todosSlices.ts で実装した reducers extraReducersの各テストの実装となります。

今回の課題で実装するテスト対象
  • create(reducers)
  • remove(reducers)
  • update(reducers)
  • restore(reducers)
  • changeDisplayStatus(extraReducers)
  • fetchTodosAsync.pending(extraReducers)
  • fetchTodosAsync.fulfilled(extraReducers)
  • fetchTodosAsync.rejected(extraReducers)

サンプルコード

今回も課題用の実装例を用意しました。

実装で行き詰まった時に、以下リンク先のコードを参考にしていただけたらと思います。

day5 の課題「reducers, extraReducers のテスト」の実装例

提出ルール

今回は勉強会最終日となるので、課題を提出しなくても特に何もペナルティはありません。(次の勉強会がないため)

ただ、個人的にはぜひ課題に取り組んでいただきたいと思っています。

というのも、僕自身、自分のプログラミングスキルが一気に伸びたなと思ったタイミングは「テストコードを書けるようになってから」でした。

テストコードは、アプリの動作保証のために書くという部分もありますが、「テストを書きやすくするために、コードの設計を考えるクセがつく」という側面もあります。

  • どのように「ファイル分割」「コード分割」すると、テストが書きやすくなるか
  • ファイル同士の依存関係をどのように管理すれば、テストが書きやすくなるか
  • 共同開発時に、他のメンバーが開発している機能を後から組み込むだけで動くようにするにはどうすれば良いか

など、「設計力」を磨くことができます。

正直、テストコードがなくてもアプリは動きます。

ただ、エンジニアとして開発スキルをさらに伸ばすきっかけとして、テストコードを書くスキルを身に付けるのはかなり有効だと考えています。