JUnit

From Wikipedia, the free encyclopedia

JUnit
Developed by Kent Beck, Erich Gamma, David Saff
Latest release 4.4 / July 18, 2007 (2007-07-18); 327 days ago
Written in Java
OS Cross-platform
Genre Unit testing tool
License Common Public License
Website http://junit.org

JUnit is a unit testing framework for the Java programming language. Created by Kent Beck and Erich Gamma, JUnit is one of the xUnit family of frameworks that originated with Kent Beck's SUnit. JUnit has spawned its own ecosystem of JUnit extensions.

Experience gained with JUnit has been important in the development of test-driven development, and as a result, some knowledge of JUnit is often presumed in discussions of test-driven development, for example in the book Test-Driven Development: By Example, ISBN 0-321-14653-0 by Kent Beck.

JUnit has been ported to other languages, including PHP (PHPUnit), C# (NUnit), Python (PyUnit), Fortran (fUnit), Perl (Test::Class and Test::Unit) and C++ (CPPUnit). This family of unit testing frameworks is referred to collectively as xUnit. TestNG has many of the same goals as JUnit.

And more recently, owing to the development of rich client frameworks such as AJAX, a port of JUnit has been developed for JavaScript (JSUnit) http://www.jsunit.net/.

[edit] Example

"Hello world" example in JUnit 3.8 and earlier:

public class HelloWorld extends TestCase
  {
    public void testMultiplication()
    {
      // Testing if 3*2=6:
      assertEquals ("Multiplication", 6, 3*2);
    }
  }

(compare with the similar example for Mauve.)

The method testMultiplication will be discovered automatically by reflection.

"Hello world" example in JUnit 4.0:

public class HelloWorld
  {
    @Test public void testMultiplication()
    {
      // Testing if 3*2=6:
      TestCase.assertEquals ("Multiplication", 6, 3*2);
    }
  }

The method testMultiplication will be discovered automatically by its Test Annotation (a feature of Java 5).

[edit] External links