如何使用robolectric对Android音频录制应用进行单元测试

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用robolectric对Android音频录制应用进行单元测试相关的知识,希望对你有一定的参考价值。

我只是想知道是否可以使用Robolectric框架对android音频录音机应用程序进行单元测试。

据我所知,Robolectric不使用仿真器或真实设备进行测试。但在录音应用程序中,我需要测试是否录制了音频?它是否存储在SD卡上的指定位置?是否可以使用媒体播放器播放?和许多其他方案。

我已经研究了许多Robolectric教程,但他们没有回答我的问题。我也曾在Robolectric google小组中提出过这个问题(https://groups.google.com/forum/#!topic/robolectric/JLKrRGsvIkU),但未得到答复。阴影的概念在这里有用吗?

答案

我说你使用MediaRecorder来录制音频。

Robolectric已经为MediaRecorder提供了一个Shadow。此阴影仅存储属性和当前的stoped / started状态。没有实施录音。有关详细信息,请参阅https://github.com/robolectric/robolectric/blob/master/robolectric-shadows/shadows-core/src/main/java/org/robolectric/shadows/ShadowMediaRecorder.java

是的,您可以使用robolectric对您的应用进行单元测试,但真正的录音将不起作用。您可以做的一件事是当其他代码部分使用此文件时,将虚拟记录文件放入目标路径。

还有其他工具,如浓缩咖啡,可能很难测试。

以上是关于如何使用robolectric对Android音频录制应用进行单元测试的主要内容,如果未能解决你的问题,请参考以下文章

配置同时使用PowerMock和Robolectric对Android进行单元测试

Android:如何在 Robolectric 中测试 PDFView?

Robolectric使用(一)简单使用

使用 Robolectric ClassCastException 进行 Android 测试:android.app.Application 无法转换为 MyApplication

Robolectric结合Android Studio的使用

Android单元测试系列-Robolectric