4

使用Android测试框架,我想为使用MediaPlayer的应用程序编写功能(端到端)测试。该应用程序是一个简单的GUI,可让用户播放曲目。我想编写模拟触摸事件(例如)播放按钮的测试。然后自动功能测试将检查按下播放按钮时,媒体播放器播放选定的曲目。功能测试:调用MediaPlayer

如何测试MediaPlayer是否正在播放测试用例中的给定轨道? (假设这是对播放音乐的应用程序进行端到端测试的良好实现)。

我以this example code为起点。

谢谢

回答

2

我建议选择Espresso作为功能测试的核心库。

草图为终端到终端的测试看起来是这样的:

public class PlaybackManagerTest { 

    public void testShouldStartPlayingSelectedTrack() { 
     onView(withId(R.id.track_play)).perform(click()); 

     assertTrue(playbackManager.isPlaying()); 
     assertEquals("desired_track.mp3", playbackManager.getCurrentTrackPath(); 
    } 
} 

PlaybackManager可能代表API;包装MediaPlayer实例,跟踪回放历史记录等。