---
# System prepended metadata

title: 3月23日　学習の振り返り
tags: [学習ふりかえり, 角メモ]

---

# 3月23日　学習の振り返り

## 学習項目
* 交通アプリ：単体テストの導入
* レガシーコード改善ガイド：第1章～第4章

## 大切だと思った項目
* 単体テストの実行に0.1秒もかかっているようでは遅い。
* DB接続やネットワーク通信を行うテストは、単体テストとは言えない。
* 単体テスト作成には、可能な限り依存関係を排除する必要がある。
* 単体テストにおける依存関係の排除には、擬装オブジェクトの作成が有効である。

## 学習項目の感想
* レガシーコード改善ガイドを読み始めた。単体テストについて詳しく説明されており、交通アプリでこれまで作ってきたテストは、実際にDBに接続してデータを取ってきていたため、単体テストには当たらないと分かった。
* これまでもメソッド単体のテストを作ろうと試みたがうまくいかなかった。それは依存関係が原因であることが理解できた。依存関係を排除する方法を学び、早速交通アプリに擬装オブジェクトを実装して単体テストを作成した。単体テストが全て通った時には大きな喜びを感じた。DB周りの設定がらみということもあり0.1秒以上かかっているが、今後のリファクタリングによって0.1秒かからない高速な単体テスト作成を目指したい。

## 良かった点・カイゼンすべき点
### 良かった点
+ 難解だった単体テストを作成できた。
+ 単体テストと依存関係について、理解がとても深まった。
+ 進捗は順調にこなせた。問題点も解決できた。
### カイゼンすべき点
- 1つの単体テストの実行に0.1秒以上かかっている。
- やり方を自分のモノにするまでに時間がかかった。
## 本日の教訓
単体テストが通ると安心感が違う！TDDを実行せよ！

---
### ※質問したい項目はdiscordで質問すること
###### tags: `角メモ` `学習ふりかえり`

