Whiteship's Note

'TemporaryFolder'에 해당되는 글 1건

  1. 2009.10.16 [JUnit] @Rule TemporaryFolder 사용하기 (2)

[JUnit] @Rule TemporaryFolder 사용하기

모하니?/Coding : 2009.10.16 16:26


public class DBUnitSupportTest {
   
    DBUnitSupport dbUnitSupport;

    @Rule public TemporaryFolder folder = new TemporaryFolder();
    @Autowired DataSource dataSource;
    File tempFile;
   
    @Before
    public void setUp() throws Exception{
        dbUnitSupport = new DBUnitSupport(dataSource);
    }
   
    @Test
    public void exportXls() throws Exception {
        tempFile = folder.newFile("temp.xls");
        dbUnitSupport.setExportedFile(tempFile);
        assertThat(tempFile.length(), is(0L));
        dbUnitSupport.exportXlsFrom("code", "item", "users", "role", "users_role");
        assertThat(tempFile.length(), not(0L));
    }
   
    @After
    public void after(){
        assertFalse(tempFile.exists());
    }

흠.. 좋군요!! 파일이 생겨나는 테스트를 하고 나서 매번 수동이든 코드로든 지워야 하는 번거로움이 없어졌습니다.

사실 파란색 코드는 지워도 그만인데, 아직은 TemporaryFolder Rule이 어떻게 동작하는지 확실하게 파악된 상태가 아니여서 남겨뒀습니다.

파일이 delete() 되지 않을 경우에 대비해서 말이죠. 사실 이 아래 글에 작성한 코드에는 치명적인 결함이 있었는데, 그 사실을 이번 테스트를 작성하다가 알게됐습니다. @_@;;

테스트 작성이 여러모로 도움을 주는군요.

참조: http://www.catosplace.net/blogs/personal/?p=116
top

  1. Favicon of http://decoder.tistory.com BlogIcon decoder 2009.10.16 17:08 PERM. MOD/DEL REPLY

    어후, 이거 좋네요. ^^
    매번 테스트 할때마다 디렉토리 만들고 지우고 난리도 아니었는데 ㅠㅠ;

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2009.10.16 20:28 신고 PERM MOD/DEL

    네 사용법도 간단하고 좋아요

Write a comment.