Wansuko-cmd / Passon

3 stars 0 forks source link

UseCaseのテストを追加 #30

Closed Wansuko-cmd closed 2 years ago

Wansuko-cmd commented 2 years ago

概要

UseCaseのテストを追加しました

実装したところ

モジュールの作成 テスト用ライブラリの導入 テストの追加 Github Actionの追加

懸念点

テストで必要なモックやデータをどのように定義すればきれいにまとまるのかが分かりません・・・

よろしくお願いします

Index197511 commented 2 years ago

せっかくKotlinで書いているのでMockK使いませんか:eyes:

Index197511 commented 2 years ago

あとassert系のLibraryとしてTruthが使われているのをよく見るので使ってみてもよいかもしれません!

Index197511 commented 2 years ago

サンプルになるかはわかりませんが、普段僕が書くテストを別ブランチで書いてみました!参考になると幸いです! https://github.com/Wansuko-cmd/Passon/blob/index197511%2Fwrite-test/core/usecase/src/test/kotlin/com/wsr/password/getall/GetAllPasswordUseCaseImplTest.kt

blackbracken commented 2 years ago

テストに関しては、コードカバレッジとその文脈でどの程度のものが求められているかの判断を意識するとテストすべき範囲と基準が具体的に定まって良いかもしれないですね 👀

Wansuko-cmd commented 2 years ago

例外を値にしてもよさそうなのですが、

  1. Stateは余計にLoadingまで持っているうえ名前がややこしい
  2. Result型を新たに追加するとView側でも間違えて使ってしまいそうだしややこしくなる
  3. @Throwsを使った検査例外方式も経験しておきたい という理由で今回は@Throwsを使います!