| 開発元 | Kent Beck, Erich Gamma, David Saff, Mike Clark |
|---|---|
| 最新版 |
5.12.0
/ 2025年2月21日 |
| リポジトリ | |
| プログラミング 言語 | Java |
| 対応OS | クロスプラットフォーム |
| 種別 | 単体テストツール |
| ライセンス | Eclipse_Public_License |
| 公式サイト | https://junit.org |
JUnitとはJavaで開発されたプログラムにおいてユニットテスト(単体テスト)の自動化を行うためのフレームワークである。
1997年に、Smalltalk のためのユニットテストのフレームワークであるSUnitをもとにして、エーリヒ・ガンマと、SUnitの開発者のケント・ベックが中心となって開発された。
単体でも動作可能だが、Apache AntやEclipseのプラグインからも利用可能である。エクストリーム・プログラミングなどの、アジャイルソフトウェア開発のいくつかの開発手法では、テスト重視が推奨されており紹介されることが多い。Javaの黎明期からテスト実行環境を提供し続けており、Javaを用いるシステム開発では必要不可欠になっている。
Java以外の言語向けにはxUnitが存在する。
JUnit4は、Java SE 5からアノテーションが利用可能になったため、従来の命名規則に縛られることがなくなり、さらに使いやすくなった。
従来は、テストクラス名はTestで終わる必要があった。テストしたいメソッドをテストするメソッド名には、testの接頭辞を付ける必要があった。JUnit4からは、TestCase#setUp(), TestCase#tearDown()メソッドをオーバーライドする必要は無くなり、かわりに、setUp()に相当するメソッドには@Beforeアノテーションをつけ、tearDown()に相当するメソッドには@Afterアノテーションをつけるだけで済むようになった。さらに、メソッドに@BeforeClass、@AfterClassアノテーションをつけることで、テストクラス実行前と実行後に実行したいメソッドを作ることも可能になった。
testで始まるメソッドと同じ。setup()メソッドと同じ。tearDown()メソッドと同じ。JUnitから派生したツールを下記に示す。