我想对一个使用 Android DownloadManager 服务的类进行单元测试,但我不确定如何去做。我应该实际使用 DownloadManager 服务还是有什么方法可以模拟它?我宁愿不让我的测试调用外部 Web 服务器。我可以使用现有的测试库吗?
问问题
700 次
1 回答
0
- 该解决方案使用Robolectric
要知道的一件重要事情是下载管理器请求的计数从 -1 开始。因此,如果您将请求排入队列,则请求计数将为 0。
- 模拟您的 DownloadManager 对象
写你的测试
public void shouldEnqueueRequest() { //... //... verify(downloadManager, times(1)).enqueue(anyObject()); //Is the DownloadManager empty assertThat(shadowOf(downloadManager).getRequestCount(), greaterThan(-1)); //Get the request from the DownloadManager ShadowRequest realRequest = shadowOf(shadowOf(downloadManager).getRequest(0)); assertThat(realRequest, notNullValue()); assertThat(realRequest.getDescription(), equalTo("Your description")); assertThat(realRequest.getTitle(), equalTo(APP_NAME)); }
于 2017-06-23T09:19:48.440 回答