import static org.junit.Assert.*; in the import section of your test file. Moreover, from JUnit 4.0 on there are also method to compare arrays of objects.
Initialisation and cleaning: The initialisation and cleaning were performed using setUp() and tearDown() methods. In version 4.0, it is not possible anymore since the class does not extend TestCase. To solve this, new Annotations are used: @Before and @After. Note that there are also the annotations: @BeforeClass and @AfterClass which are the methods which are called before loading the class for test and after all the tests have been performed. Tests Tests are annotated using the @Test annotation and must also return void and may not have any parameters. These properties are checked at runtime and issue exceptions if these rules are not respected. Ignoring Tests It is possible to ignore a given test by using the @Ignore annotation before or after the @Test annotationPerforming Test One performs test using the following call: $
java –ea org.junit.runner.JUnitCore
where
is the java complete name of the test class. Timeouts It is also possible to use a Timeout parameter for the test methods Parametrised Tests It is also possible to apply the same test but with different parameters. For this, the annotation @Parameters may be used together with the class annotation @RunWith(Parameterized.class) Suite Like for the preceding version, there is also the possibility to use Suites of Tests. For this the annotations @RunWith(Suite.class) and @Suite.SuiteClasses({FirstTestClass.class, SecondTestClass.class}) The article I used to write this entry states the lack of support in IDE for the new JUnit 4.0 version. But I suppose that this changed in the latest versions of eclipse.
Friday, 11 January 2008
Differences between JUnit 3.8 and JUnit 4
There is a number of changes between these two versions of JUnit. For backward compability. Old Test method should still work I believe. I will sum up which are the features which changed.
package names: version 3.8 used the junit.framework packages whereas 4.0 uses org.junit packages.
Inheritance: the Test classes do not have to inherit from TestCase anymore. However, the new JUnit approach makes a stronger use of annotations.
Assert changes: In order to use asserts with JUnit, you can either use the Assert.assertEqual(...) ( or similar methods) or import staticly the Assert class ( from Java 1.5 on) using: