2013. 8. 18. 10:13

public class ZipTest extends AndroidTestCase {

String testUrl = 

"http://files.parse.com/b18520bb-433b-4d@@@@@@@@@@@@@@@3-binibean.zip";


public void testZip() {

NOFileDownloadManager manager = new NOFileDownloadManager(mContext, testUrl);

manager.download(new NOFileDownloadThread(mContext, manager));


try {

manager.getCurrentThread().get();

} catch (Exception e) {

e.printStackTrace();

}


File file2 = new File(mContext.getFilesDir(), "/character/binibean");

File []pngs = file2.listFiles();

assertEquals(6, pngs.length);

assertEquals(file2.getAbsolutePath() + "/binibean_01.png", pngs[0].getAbsolutePath());

}

}


테스트 코드 가정

1. FileDownloadManager 는 Parse 에서 Image zip파일을 다운로드 받는다.

2. 그리고 app내 files 폴더에 압축을 해제하고, zip파일을 날린다.


결과 

1. 파일이 files 폴더에 image파일로 저장되어있는지 확인해야한다.

딱히 파일체크를 하는 코드를 만들필요없이. assertEquals 에서 파일 갯수가 맞는지 체크하고 그 파일의 AbsolutePath()에 저장되어있는지 확인.


이렇게해서 검증된 코드는 믿음이 간다. 실제로 여러명이 프로젝트를 진행하는 경우에, 몇번의 디버깅을 통해 소스를 merge 하는 것보다. TDD 방식을 통해 검증된 코드를 merge 하면 업무의 효율성이 높아 지지 않을까 생각해 본다. 



'2019년 이전 정리 > TDD' 카테고리의 다른 글

TDD 에 관해  (0) 2013.08.18
Posted by hoonihoon