Whiteship's Note

웹 테스트 프레임워크(WebTUnit) 사용 시나리오 1. 웹 테스트 + 테스트 클래스 단위 데이터 관리

모하니?/Coding : 2009. 5. 15. 11:36


해당 테스트 클래스를 웹 테스트 하고, 그 안에 있는 모든 테스트들이 공통의 데이터를 이용할 때 사용할 수 있습니다. 단, 주의할 것은 테스트들 사이에 순서가 없기 때문에(JUnit과 동일) 테스트 데이터를 잘못 조작하면 테스트끼리 의존성 생겨 실패할 수 있습니다. 테스트 마다 각자의 테스트 데이터를 사용하는 시나리오는 다음에 살펴보겠습니다. 이 시나리오는 테스트 데이터를 조작하지는 않고 주로 참조 용으로 테스트 하는 경우에 적당합니다.

@RunWith(WebTestRunner.class)
@WarConfiguration("springsprout")
@DataConfiguration(fileName="integration/sample/testData.xml")
public class SampleWebTest {

    @Before
    public void setUp(){
        System.out.println("===================================");
        System.out.println("===================================");
    }

    @WebTest
    public void test1(){
        System.out.println("test1");
    }

    @WebTest
    public void test2(){
        System.out.println("test2");
        fail("for test");
    }

    @After
    public void tearDown(){
        System.out.println("***********************************");
        System.out.println("***********************************");
    }

    @Test
    public void noTest(){
        System.out.println("this will not be print");
    }

}

이렇게 했을 경우
1. sprignsprout라는 이름의 WAR 파일을 생성하고,
2. 배포하고,
3. integration/sample/testData.xml에 있는 데이터를 DB에 넣고
4. 테스트를 쫙 실행(순서 무작위, JUnit 동작 방식을 따름), 각각의 테스트는 @WebTest를 붙여줌. @Test는 동작하지 않습니다. @Before, @After, @BeforeClass, @AfterClass, @Ignore 모두 적용 됨. 딱 하나. @Test 대신 @WebTest를 사용하면 됨. @Test를 사용해도 되지만, 테스트 구분을 위해.. 차후에 WebTest관련 기능을 추가할 때 유리할 듯..
5. 테스트가 끝나면(중간에 몇 개가 실패하더라도), 테스트 데이터를 삭제하고,
6. WAR를 unploy합니다.

물론 세부적 예외가 언제 발생하느냐에 따라 그 처리가 조금씩 달라집니다. 지금도 계속해서 이부분을 작업하고 있으니 자세한 설명은 나중에~


top

  1. Favicon of http://toby.epril.com BlogIcon Toby 2009.05.15 11:55 PERM. MOD/DEL REPLY

    웹투덜이 어때?
    그리고 스프링테슷 처럼 CoC를 적용해서 XML파일 등을 자동으로 찾게 해주는 것도?
    ATest면
    ATest-data.xml
    을 찾는다거나

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2009.05.15 12:56 신고 PERM MOD/DEL

    넘길자나요.ㅋㅋ
    웹투닛 어떤가요? WebTUnit 웹 테스트 유닛

    CoC 적용 오퀘! 이슈에 등록해둘께요.

    기본으로 현재 테스트 코드와 동일한 클래스 패스에 위치한 testData.xml 또는 testData.xls가 있다면..(둘 다 있다면???) 그걸 사용하도록.

Write a comment.




: 1 : ··· : 137 : 138 : 139 : 140 : 141 : 142 : 143 : 144 : 145 : ··· : 299 :