如何使用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 ClassCastException 进行 Android 测试:android.app.Application 无法转换为 MyApplication