自動テストフレームワーク JUnit、TestNG、Spock、JUnit Jupiter の比較、違い、読み方

ITで知っておくべき知識
スポンサーリンク

Gradleを使っていると、テストフレームワークとしてJUnit、TestNG、Spock、JUnit Jupiterの選択があります。

これらの自動テストフレームワーク JUnit、TestNG、Spock、JUnit Jupiter はどう違うのでしょうか?

比較、違い、読み方をまとめてみた。

スポンサーリンク

JUnit (JUnit 4)とは

1997年に、Smalltalk のためのユニットテストのフレームワークであるSUnitをもとにして、エーリヒ・ガンマと、SUnitの開発者のケント・ベックが中心となって開発された。

JUitの読み方は、ジェイユニットです。

 

JUnitの公式サイトはコチラです。

http://junit.org/

TestNG とは

TestNGは、JUnitとNUnitに触発されたJavaのためのテスティングフレームワークである。

TestNGはTesting, the Next Generationの略である。

TestNGの読み方は、テスティングです。

 

TestNGの公式サイトはコチラです。

http://testng.org/

Spock とは

Spockは、Peter NiederwieserとLuke Daleyによって開発されたJavaのテストフレームワーク。

Spockの読み方は、スポックです。

 

公式サイトはコチラです。

http://spockframework.org/

JUnit 5 (Platform, Jupiter, Vintage) とは

これまでのバージョンのJUnitとは異なり、JUnit 5は 3つのサブプロジェクトに含まれる複数のモジュールで構成されます。

  • JUnit Platform
  • JUnit Jupiter
  • JUnit Vintage

です。

 

JUnit Platform は、JVM上で テストフレームワークを起動する ための基盤となり、このプラットフォーム上で動作するテストフレームワークを開発するための TestEngine APIを定義しています。

コマンドラインからプラットフォームを起動するための Console Launcher や、 Gradle と Maven 用のビルドプラグイン、 JUnit 4ベースのテストランナー などを提供し、あらゆる TestEngine を実行できるようになっています。

 

JUnit Jupiter は、JUnit 5でテストや拡張機能を書くための新しい プログラミングモデル と 拡張モデル の組み合わせです。

Jupiterサブプロジェクトは、プラットフォーム上でJupiterベースのテストを実行するための TestEngine を提供します。

 

JUnit Vintage は、プラットフォーム上でJUnit 3またはJUnit 4 ベースのテストを実行するための TestEngine を提供します。

 

 

JUnit 5の使い方はコチラをご覧ください。

https://qiita.com/opengl-8080/items/efe54204e25f615e322f