# TranscodingServiceTest 명칭 변경
# OutputFormat 객체를 생성해 transcode() 메서드 실행시 jobId 대신 outputFormat 을 사용한다.
# 지금까지 TranscodingService부터 시작해서 Job까지 점진적으로 구현을 만들어 왔다. 다음 작업 대상은 Job객체에서 호출할 Transcoder의 구현체를 만들 것이다.
# TranscodeWithOnOutputFormat에 대한 실패 테스트 실행
- Transcoder 객체가 할당되지 않아 error발생
# OutputFormat 생성자 추가
# Transcoder의 구현체 FfmpegTranscoder 작성
# test 클래스명을 FfmpegTranscoderTest로 변경하고 setUp() 메서드를 통해 FfmpegTranscoder() 객체를 DI 해준다.
# test를 통과하기 위해 코드 작성
# Xuggler 의존 추가
# Xuggler의 이용 방법을 익히기 위해 Xuggler 관련 샘플 코드를 복사해 XugglerTest를 작성
# package 변경
# 테스트 실패 원인은 FfmpegTranscoder#transcode() 메서드에서 실제 파일을 리턴해 주어야 한다. 뿐만아니라 폭, 높이 등에 대한 검증을 통과하려면 실제 비디오 파일을 생성해서 리턴해 주어야한다.
현재 테스트를 성공시키기 위해서는 비디오 변환 기능이 필요하다.
# Xuggler를 이용해서 VideoConverter를 완성
# VideoConverter 테스트를 위한 VideoConverterTest 작성완료
# OutputFormat에서 코덱 정보를 표현하기 위해 VideoCodec과 AudioCodec으로 명칭 변경
# 테스트 코드 리펙토링
- 상수 값으로 변경하면서 의미를 좀더 명확하게 한다.
# 테스트 코드 리펙토링
- 상수 값으로 변경하면서 의미
# 의미를 조금더 명확하게 하기 위해 Enum 타입 추가
# VideoConverterTest를 작성하면서 생성된 비디오의 내용물이 올바른지 확인하는 기능이 필요하다. 앞서 살펴봤던 FfmpegTranscoderTest의 verifyTranscodedFile() 메서드와 동일하다. 그러니, 이 메서드를 별도 헬퍼 클래스(VideoFormatVerifier)로 빼서 테스트가 가능하도록 구현함.
# VideoConverterTest를 작성하면서 생성된 비디오의 내용물이 올바른지 확인하는 기능이 필요하다. 앞서 살펴봤던 FfmpegTranscoderTest의 verifyTranscodedFile() 메서드와 동일하다. 그러니, 이 메서드를 별도 헬퍼 클래스(VideoFormatVerifier)로 빼서 테스트가 가능하도록 구현함.