Edited at

自分の中で、どんなテストを書いてどんなテストは書いていないのかをdumpしてみた

More than 3 years have passed since last update.


前提

こんな状況下で開発をしている自分個人の考え方。


  • 新規サービスの立ち上げ

  • プロジェクト内でエンジニアは自分一人

  • iOSクライアントのみのサービス

  • サーバサイド(Rails)はAPIがメイン

  • 早ければ3ヶ月くらいでサービスを継続するかどうかの判断のタイミングがくる


考え方

上記の前提なので


  1. 一人で全部作らないといけないから頑張り過ぎない事の方が大事

  2. でも、まったくテスト書かないのは開発効率に響くので程よく書く


    • テストがまったくないコードは怖すぎるし…



  3. だから、カバレッジとかからは目を背けよう(笑)

と考えている。

経験を積んでいけば、2の「程よく」の練度が上がるだろうと楽観視はしている。


サーバサイド(Rails)について

使っているのは、rspec


API


  1. 正常系のテストを必ず書く


    • Request spec


    • autodocweak_parameters を使えば、正常系のAPIドキュメントが出来上がる

    • ドキュメントをモチベーションにテストを書く



  2. 異常系については起こると怖いものは書く


    • 「他人のコメントを消そうとしたときにエラーになるテスト」とか

    • それ以外のケースは自分が気になったら書く



  3. モデルのテストはほぼ書かない


    • 自分が不安にならない限りは書かない



  4. ライブラリ系


    • 自分が不安にならない限りは書かない




Webページ

そもそも、Webページを設置するケースが少ないのであまり考えていない。

会員登録とか退会とか重要な機能については書こうかなぁとは思っている。


クライアントサイド(iOS/Swift)のテスト

基本的には書いていない。理由は、


  • API側のテストがしっかりしていると割と安定したものが作れている

  • UIのテストはこのフェーズだと変更コストの方がでかいと感じている

  • そもそも、書く実力がない…

  • 手が回らない…

という感じ。あまりポジティブな理由ではない気はしている。