2010-07-27 4 views
3

저는 최근에 .NET SpeechSynthesizer로 놀아 왔습니다.단위 테스트하는 방법?

그리고 문자열을 가져 와서 해당 문자열에서 .wav 파일을 만드는 방법이 있습니다. 하지만이 단위 테스트를 어떻게 테스트합니까?

이 상황은 내가 단위 테스트가 당신을 도울 수없는 것 같습니다. 내가 맞습니까?

답변

4

여기서 테스트하고 싶은 것은 무엇입니까?

.NET SpeechSynthesizer API가 웨이브 파일을 작성합니까 아니면 웨이브 파일을 작성하는 코드에 무엇인가를 출력합니까?

이 테스트는 다른 종속성 테스트와 동일합니다. 먼저 그것을 분리하십시오 (얇은 & mockable 래퍼를 NET SpeechSynthesizer API에 연결). 그런 다음 코드의 유효성을 검사하면 래퍼에 주어진 내용을 제공하고 반환 된 데이터에 대해 작동 방식대로 작동합니다. .NET SpeechSynthesizer API를 다른 사람 (API 작성자)에게 테스트 해 둡니다.

랩퍼를 테스트하는 것은 통합 테스트입니다 (이름이 TDD 매너에서 수행하는 것을 막지 마십시오). 그러면 유효성 검사에서 상당히 느슨 할 수 있습니다 (" 문자열)로 인해 출력 파일이 커집니다. "). 그러나 다시 API 작업의 유효성을 확인할 필요는 없습니다.

2

코드에 부작용이있을 때, 깨끗한 레이어 테스트가 아니지만 확실히 부작용을 테스트 할 수 있습니다. 그 결과를 당신의 임시 직원에게 써라. 파일이 실제로 기록되는지 확인하십시오. 파일을 웨이브 파일로로드하여 형식을 확인하십시오.

실제로 WAV 파일의 내용을 확인하려면 웨이브 파일을 직접 분석하지 않는 것이 좋습니다. 이 경우 테스트에서 WAV 생성기로 전송되는 매개 변수를 모니터링하여 예상대로 작동하는지 확인해야합니다.

0

음성 인식 소프트웨어에 액세스 할 수 있습니까? 생성 된 연설을 듣기 위해 시도하고 훈련 할 수 있습니다 ....?

또는 적어도 형식 같아요 0 바이트 파일 정확하지 확인할 수 있습니다 ...

또한 잡아 수 (또는 그 youself를 생성) 예상에 대한 통계 정보를 수 입력 된 문장, 음성의 속도 등을 고려하여 출력 파일의 길이 (특정 오류 범위 내)를 입력하십시오.

관련 문제