@Test annotation

@Test annotation


Posted in : Java Posted on : November 24, 2010 at 6:49 PM Comments : [ 0 ]

This section contains the detail about @Test annotation in JUnit.

@Test annotation in JUnit

The Test annotation tells JUnit that the public void method to which it is attached can be run as a test case. For example :

Pet.java

package devmanuals.junit;

public class Pet {
public Pet() {
}
public String bow() {
return "Bow";
}
}

PetTest.java(Test Class)

package devmanuals.junit;

import static org.junit.Assert.*;

import org.junit.Test;

import devmanuals.junit.Pet;

public class PetTest {

@Test
public void testPet() {

}

@Test
public void testBow() {
Pet testPet = new Pet();
assertTrue("Bow".equals(testPet.bow()));
}

}

Output

Optional Parameter of Test Annotation

The Test annotation supports two optional parameters. The first, expected, declares that a test method should throw an exception. If it doesn't throw an exception or if it throws a different exception than the one declared, the test fails. For example, the following test succeeds :

package devmanuals.junit;

import java.util.ArrayList;

import org.junit.Test;

public class ExceptionTest {
@Test(expected = IndexOutOfBoundsException.class)
public void outOfBounds() {
new ArrayList<Object>().get(1);
}
}

Output :

The second optional parameter, timeout, causes a test to fail if it takes longer than a specified amount of clock time (measured in milliseconds). The following test fails :

package devmanuals.junit;

import org.junit.Test;

public class TimeoutTest {
@Test(timeout = 100)
public void infinity() {
while (true)
;
}
}

Output:

As expected above test fails :

Download Source Code

Go to Topic «PreviousHomeNext»

Your Comment:


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 

 
Tutorial Topics