2010-07-27 2 views
3

В последнее время я играл с .NET SpeechSynthesizer.Как это проверить?

и у меня есть метод, который принимает строку и создает WAV-файл из этой строки. но как я могу проверить этот метод?

Мне кажется, что эта ситуация - это та, в которой модульное тестирование не может вам помочь. я прав ?

ответ

4

Что вы хотите проверить здесь?

Является ли .NET SpeechSynthesizer API записью волнового файла или выводит что-то на ваш код, который записывает волновой файл?

Тестирование - это то же самое, что и тестирование любой другой зависимости. Сначала изолируйте его (тонкий & mockable wrapper arround NET SpeechSynthesizer API). Затем проверка вашего кода дает оболочке то, что, по вашему мнению, должно предоставляться, и действует на любые возвращенные данные так, как она должна действовать. Оставьте тестирование API .NET SpeechSynthesizer кому-то другому (создателям API).

Тестирование обертки - это тест интеграции (не позволяйте названию остановить вас от выполнения этого в усадьбе TDD, если это ваша вещь), и вам, вероятно, придется совсем не разбираться в том, что вы проверяете («Говорите (строка) приводит к увеличению выходного файла »). Но снова вам не нужно проверять работу API.

2

Когда у кода есть побочные эффекты, это не чистый тест слоя, но вы можете определенно проверить побочные эффекты. Напишите результат в ваш временный каталог. Убедитесь, что файл на самом деле написан. Проверьте формат, загрузив его в виде волнового файла.

Чтобы проверить, что на самом деле находится в WAV-файле, вы, вероятно, не хотите анализировать волновой файл напрямую. В этом случае ваш тест должен отслеживать, какие параметры отправляются генератору WAV, чтобы убедиться, что они как ожидалось.

0

У вас есть доступ к любому программному обеспечению распознавания речи? Возможно, вы могли бы попробовать и обучить его послушать сгенерированную речь ....?

Или вы могли бы по крайней мере проверить формат является правильным, а не нулевой байт файла я думаю ...

Вы могли бы также быть в состоянии достать (или создавать их сами) статистическую информацию об ожидаемом длина (в пределах определенного диапазона ошибок) выходного файла, учитывая входное предложение, скорость речи и т. д.

Смежные вопросы