Jon*_*Jon 0 webserver android okhttp3
我已经在测试中使用okhttp的模拟Web服务器(https://github.com/square/okhttp/tree/master/mockwebserver)进行了相当多的测试,并且效果很好。从阅读文档和浏览Google来看,该库似乎确实是测试的目标。
我的问题是,是否有任何原因导致我不能在生产代码中使用它?我有一个正在使用的android应用程序,需要模拟Web服务器。我已经对其进行了集成,并且运行良好,但是我担心自己的操作是否存在某些问题。
另外,在生产中使用模拟Web服务器时,是否应注意任何安全风险?
谢谢!
MockWebServer返回“模拟”(换句话说,“不是真实的”)数据。如果您在生产中使用了该类,则必须继续向其提供伪数据,或者通过一些单独的库或工具进行真正的HTTP调用,并将其响应填充到MockWebServer中。然后,重点是什么?为什么不让OkHttp直接按设计进行调用呢?
我的猜测是您可能会误解OkHttp3和MockWebServer之间的关系。
您应该只在应用程序代码中使用OkHttp3。
仅在测试中,您可以让MockWebServer伪造响应(如果以这种方式配置,则可以拦截)以测试应用程序对OkHttp3的调用。当您投入生产时,任何MockWebServer代码都不应被引用或调用(因为您将所有内容都放在了test / androidTest源代码目录中,对吗?),由于MockWebServer赢得了胜利,因此OkHttp3代码将通过Internet进行真正的HTTP调用。再也不会拦截他们了。
基本上,如果你在你的东西build.gradle比其他的testCompile 'com.squareup.okhttp3:mockwebserver:x.x.x'和/或androidTestCompile 'com.squareup.okhttp3:mockwebserver:x.x.x'比你就错了。真正的主生产应用程序不需要模拟Web服务器,因为它将通过Internet真正调用真实Web服务器。
| 归档时间: |
|
| 查看次数: |
1198 次 |
| 最近记录: |