Как выполнить модульное тестирование Android-приложения для записи звука с помощью робо

Я просто хочу знать, возможно ли провести модульное тестирование приложения для записи звука Android с использованием фреймворка Robolectric.

Насколько я знаю, Robolectric не использует эмулятор или реальное устройство для тестирования. Но в приложении для записи звука мне нужно проверить, записывается ли звук? Хранится ли он в указанном месте на SD-карте? Проигрывается ли он с помощью медиаплеера? и многие другие сценарии.

Я просмотрел много учебных пособий по Robolectric, но они не отвечают на мой вопрос. Я также задавал этот вопрос ( https://groups.google.com/forum/) в группе Google Robolectric, который остался без ответа. Полезна ли здесь концепция теней?

1 ответ

Решение

Я думаю, вы используете MediaRecorder для записи звука.

У Robolectric уже есть тень для MediaRecorder. Эта тень хранит только свойства и текущее состояние остановки / запуска. Аудио запись не реализована. Для получения дополнительной информации см. https://github.com/robolectric/robolectric/blob/master/robolectric-shadows/shadows-core/src/main/java/org/robolectric/shadows/ShadowMediaRecorder.java

Да, вы можете протестировать свое приложение с помощью робоэлектрика, но реальная аудиозапись не будет работать. Одна вещь, которую вы можете сделать, это поместить файл фиктивной записи в целевой путь, когда другие части кода работают с этим файлом.

Также с другими инструментами, такими как эспрессо, это может быть трудно проверить.

Другие вопросы по тегам