回答編集履歴
1
間違って投稿ボタンを押してしまったので追記
answer
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
「テストコード」は書いてないです。
|
|
2
2
|
色々話されてますが、そもそもテストコードを書くためにコードを整理しないといけなくて、それが本質的に無駄だと気づいたからです。
|
|
3
3
|
大規模なプロジェクトでテスト工数に数ヶ月かかるとかなら、テストコードを書いた方が時間効率がいいと思いますが。
|
|
4
|
+
|
|
5
|
+
> うちだとオニオンアーキテクチャでやっていますが、Repositoryはinterfaceで抽象化し、UseCaseのテストを実装する際は本番用のRepositoryの実装クラスとテスト用のRepositoryの実装クラス(中身はモック)としてテストしていますね。副作用のあるクラスをinterfaceにすることでテストできるようにする、みたいなテクニックは使っています。副作用は外に追い出して隠蔽し、テスト可能な状態にすることでTDDできるようにしています。
|
|
6
|
+
|
|
7
|
+
これ、DIって言うんだよね。
|
|
8
|
+
あとは依存性逆転とかは、テストしないとしても、副作用がどこにあるのかわかるから便利なんだよね
|
|
9
|
+
|
|
10
|
+
ステートフルな関数を探すっていう苦行から開放されるんだよね
|