상세 컨텐츠

본문 제목

[Junit4]기본 템플릿 @BeforeClass @AfterClass @Before @After @Test

Junit4

by kwanghyup 2020. 6. 17. 21:31

본문

import org.junit.*;
import java.util.ArrayList;
import java.util.List;

import static org.junit.Assert.*;

public class SampleTest {

    private List<String> list;

    @BeforeClass
    public static void oneTimeSetUp() {
        System.out.println("@BeforeClass : oneTimeSetup() ");
        // 모든 테스트가 실행되기전에 한번만 실행된다. 
        // 반드시 static 이어야 한다. 
        // 파라미터를 가질 수 없다. 
    }

    @AfterClass
    public static void oneTimeTearDown() {
        System.out.println("@AterClass : oneTimeTearDown() ");
        // 모든 테스트 후에 한번만 실행된다.
        // 반드시 static 이어야 한다. 
        // 파라미터를 가질 수 없다. 
    }


    @Before
    public void setUp() {   // 각각의 테스트 마다 실행 후 호출된다.
    	// 반드시 public void 이어야 한다. 
        // 파라미터를 가질 수 없다. 
    	
        list = new ArrayList<String>();
        list.add("test");
        System.out.println("@Before : setUp()");
    }

    @After
    public void tearDown() { // 각각의 테스트 마다 실행 후 호출된다.
        // 반드시 public void 이어야 한다. 
        // 파라미터를 가질 수 없다.
        
        list = null;
        System.out.println("@Ater : tearDown()");
    }

    @Test
    public void testSomeBehavior() {
    	// 반드시 public void 이어야 한다. 
        // 파라미터를 가질 수 없다. 
        
        System.out.println("@Test : testSomeBehavior() ");
        assertEquals("리스트에는 1개의 요소 있어야 함", 1, list.size());
       
    }

    @Test(expected=IndexOutOfBoundsException.class) // IndexOutOfBoundsException 예외가 발생할 것이다.
    public void testForException() {
        System.out.println("@Test : testForException() ");
        String s = list.get(1);
    }
}

 

실행결과 

 

관련글 더보기

댓글 영역