4. Annotation Type After:
If you allocate external resources in a Before method you need to release them after the test runs. Annotating a public void method with @After causes that method to be run after the Test method. All @After methods are guaranteed to run even if a Before or Test method throws an exception. The @After methods declared in superclasses will be run after those of the current class.
Here is a simple example:
public class Example{
File output;
@Before public void createOutputFile(){
output = new File(...);
}
@Test public void something(){
...
}
@After public void deleteOutputFile(){
output.delete();
}
}
Example in Eclipse:
Create the class called Person in eclipse.
package test;
public class Person
{
private String name;
public Person(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
}
Here is the test cose which is used to test Person class.
package test;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class PersonTest
{
private Person person;
@Before
public void setUp() throws Exception{
person = new Person("Jimmy");
System.out.println("setUp");
}
@Test
public void getName(){
assertEquals(person.getName(), "Jimmy");
System.out.println("Test getName");
}
@After
public void tearDown() throws Exception{
person = null;
System.out.println("tearDown");
}
}
Output:
setUp
Test getName
tearDown
No comments:
Post a Comment