0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

TDDとTest Code

Posted at

TDD(Test-driven devlopment)

Test Code

TDDに入る前、先ずTest Codeについて知っておきたい。
Test Codeとは、サービスの品質を確認したりバグを見つけるため作成するコードで、サービスが期待どおりに動作しているのか確認できる。
Test Codeのない状態のテストより時間の節約ができるメリットもあるし、初めてコードを見た開発者がTest Codeを通じて、コードの動作を少し簡単に理解できるようにする文書にもなる。


TDD

  1. 定義
    TDDは、開発が完了した後テストを行う方法ではなく、テストをして開発するプログラミング方法。つまり、まずTest Codeを作成し、そこに合格するためのコードを作っていく方法を意味する。
    gg.png
    21c.png

  2. メリット
    (1)コード作成前、具体的に設計することが可能
      :TDDは具体的に設計を強制し、自分が何をどのように作るべきかを明確にしてくれる。
    (2)エラーの素早かな把握とデバッグ時間の短縮
      :どの部分に問題が発生したかを明確に把握できるため、より迅速な修正が可能になる。
    (3)文書(説明書)の役割
      :テストコードは、設計者が何の意図を持って書いたのか、どんな結果を予想したのかが
       見えるため、設計者の意図が十分に把握することができる。

  3. デメリット
    (1)事前準備期間が必要
       :TDDをプロジェクトに導入するには、事前に必要な知識を習得し、
       開発環境を構築する必要があるので時間がかかる。
    (2)生産性の低下
      :開発時間が短いプロジェクトの場合、TDDを使用してテストコードを作成し、
       それに合わせてコードを作成すると、時間がかかり、非効率的になりかねない。

  4. @SpringBootTest
    SpringBootでの統合テストのためのアノテーションで、全体的なFlowのテストに適切。

  5. JUnit5
    JUnitはTDDの代表的なToolで、世界中で最も多く使用されている「Javaユニットテストフレームワーク」である。特にJUnit5はJava8以上から使用可能で、JUnit Platform、JUnit Jupiter、Junit Vintageが組み合った形である。@Testを付けることで、テストメソッドであることが宣言できる。

0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?