Fin*_*ive 16 android android-espresso
我们有一个非常大的Android应用程序没有测试.我们正遭受典型的质量/太长的手动回归测试周期问题.
作为一名刚接触Android的服务器端开发人员,我想介绍开发人员测试.
我可以看到如何使用JUnit对普通Java代码进行单元测试.
但是,活动/碎片/适配器更加困难.
我观看了GTAC的Espresso视频并留下了深刻的印象并决定使用它.
我正在努力的是如何为我的测试用例提供模拟数据然后确认显示.
这甚至可能吗?似乎Espresso用于黑盒测试,因为(通常)黑盒测试由QA完成,因此限制了它对开发人员的使用(其目标受众).
Fri*_*ail 14
有一个名为mockwebserver的库,它允许您模拟服务器响应.Github:https: //github.com/square/okhttp/tree/master/mockwebserver
如果您使用的是gradle,则可以添加以下依赖项:
androidTestCompile 'com.squareup.okhttp:mockwebserver:1.3.0'
Run Code Online (Sandbox Code Playgroud)
一些片段可以帮助:
设置模拟服务器
MockWebServer server = new MockWebServer();
Run Code Online (Sandbox Code Playgroud)
添加示例响应(仅在第一次调用服务器时起作用)
server.enqueue(new MockResponse().setBody("Hello World Response"));
Run Code Online (Sandbox Code Playgroud)
启动服务器
server.play();
Run Code Online (Sandbox Code Playgroud)
获取服务器的URL以替换您正在使用的常规URL.
URL baseUrl = server.getUrl("/");
Run Code Online (Sandbox Code Playgroud)
现在,以与调用非模拟Web服务相同的方式向使用BaseURL的任何内容发出请求,第一次调用该服务时,它将从上面返回响应.棘手的部分是你有确切数量的MockResponses排队等待实际请求你的应用程序.调试/观察代码时要小心,因为如果您单步调试代码,调试器实际上会弹出其中一个响应.
如果你无法搞清楚,这里有一个java web项目(在web而不是web上完全相同)我有一些基本的例子 .https://github.com/digitalbuddha/GitPullRank
| 归档时间: |
|
| 查看次数: |
11488 次 |
| 最近记录: |