사실 이건 ActionScript 2.0 이라서 하는 삽질이지만.
예전에 했던 작업을 동면에서 깨워, 다시 진행해야하는 상황이 되었다(이미 2.x주 전의 얘기). 그래서 요즘 C++ + ActionScript(2.0; Flash 8) 으로 작업하고 있는데, 나는 플래시 저작툴 라이센스가 하나도 없어서 MotionTwin 의 툴셋을 쓰고 있다. 덤으로 ASUnit 2.5 도 다시 끄집어 내서 사용 중.
예전에 Flex 로 액션스크립트 테스트를 한다는 글을 읽고, 다음에 이 쪽을 또하면 이용해보자란 생각을 했었다. 그렇지만 여전히 ActionScript 2.0 (≠Flex SDK)라서, 이걸 사용하는건 불가능.
일단 현재 테스트하는 환경/상태는 다음과 같다.
- 수 개의 .as 파일에 대해, 이 파일 중 변경 사항이 있으면 ((사실 파일 변경 시간(mtime)이 정해진 몇 개의 .swf 보다 최신인 파일이 있다면)) , msbuild 를 실행시켜서 .swf 를 빌드해낸다.
- msbuild는 .swf를 빌드하고, 이걸 특정 디렉토리로 복사한다.
- python으로 작성한 웹 서버는 특정 디렉토리에 있는 파일들을 서비스하게 동작.
- 웹 페이지 하나에 .swf 들을 embed 로 연결하고, 이 페이지에 http meta tag 중 refresh 태그를 이용해서 30초마다 다시 실행
그리고 조그맣게 띄워놓은 웹 브라우져로 실행 결과를 지켜보고 있다. 그러니까 아직 CI 툴에 붙일 수 없는 상태(=커맨드라인 실행이 불가능한 수준).
이에 대한 앞으로의 개선책(?)은 아래 정도. 처음 두 개는 @oscarplex 님의 조언을 듣고 정리한 것.
- 테스트 결과를 받는 (python) 웹 서버를 하나 짜고, 이 서버가 정해진 형태로 유닛테스트 이름과, 결과를 받아서 (xml) 파일로 내보내는 방법
- (웹브라우져에서) 출력하는 부분을 API hooking해서 내보내는 방법
- 웹브라우져에서 드래그&복사는 되는걸로 봐서, 이걸 어떻게 자동화해버리는 방법
사실 1이 간단해보이는데(AS 2.0 통신용의 각종 모듈은 다 짜놨으니), 이거 다음주에 전달해주고나면 끝날지도 모르는데? ((하지만 난 2 년 쯤 전에도 이 생각을 했지))
고향에 놋북 들고왔으면 후다닥 짜버리면 땡인데 안들고왔으니 Orz.
ps. 사실 시간이 한 4주쯤 여유가 있으면 Python으로 ActionScript 코드 토해내게 짜버리고 싶다(…).
rein님 안녕하세요. PLUG팀의 최성기 입니다.
회사분들 트윗 몇다리 건너다 보니 여기까지 왔네요 ㅎㅎ
rein님 내공이 상당하신 줄은 은연중에 짐작하고 있었지만
이렇게나 테스팅과 CI에 조예(?)가 깊으신 걸 확인하고는 새삼스레 놀라고 갑니다.
마음같아선 저희 팀에서 테스트 자동화 및 개발 프로세스에 대한
rein님의 세미나를 열고 싶은 마음이 굴뚝같지만
이제 겨우 팀에 와서 업무 분위기 파악하는 시점이라 그러지는 못하겠네요 ^^;
새로운 팀에서는 이제 CI환경과 기타 개발 프로세스를 갖춰 보고자 합니다.
팀 내 많은 프로그래머 분들이 익숙치 않은 새로운 환경의 도입에 대해 두려움을 갖고 계신 것 같습니다.
맡으신 업무만 하더라도 많이 바쁘시겠지만 가끔씩 가뭄의 단비같은 조언말씀 염치없이 부탁 드립니다.
jacking 형님과도 친분이 있으신 것 같던데… 앞으로 저하고도 친하게 지내주세요!
구정 연휴 잘 보내시고 새해 바라시는 일 모두 이루시는 보람찬 한 해 보내시기 바랍니다.
(아… 너무 업무 메일 처럼 적혀 버렸네요… :$)
방문 감사합니다. 세미나는 제가 내공이 부족한지라 먼 훗날에나 가능할까 싶네요(…)