android - mockwebserver 不拦截 openConnection
问题描述
也许我做错了,但出于公司原因,我没有使用库来对服务器进行简单的 POST。所以现在我基本上是这样做的:
fun post(payload: String, url: String) {
with(URL(url).openConnection() as HttpURLConnection) {
requestMethod = "POST"
doOutput = true
val wr = OutputStreamWriter(getOutputStream())
wr.write(data)
wr.flush()
}
}
然后当我尝试测试它时,我尝试了各种形式的
@get:Rule
var mockWebServer: MockWebServer = MockWebServer()
fun testPost() {
mockWebServer.enqueue(MockResponse()
.setResponseCode(200))
val url = "https://someinvaliddomain.com/person"
mockWebServer.url("https://someinvaliddomain.com/person") // i've also just tried "/"
api.post("hello", url)
}
但似乎我没有正确设置某些东西,因为我得到的异常是“java.net.UnknownHostException”。我在这里有什么明显的遗漏吗?
解决方案
看到您的代码,似乎需要更多信息。确保您的 API 请求正常工作。做一些更正
mockWebServer.url("/")
但另一方面,您正试图联系/人,所以它应该是
mockWebServer.url("/person")
如需完整参考,请查看https://github.com/square/okhttp/tree/master/mockwebserver
它为 MockWebServer 提供了一个很好的概述
推荐阅读
- c++ - 如何使用 `UnaryPredicate` lambda 过滤 constexpr `std::array`?
- azure - Azure Functions 的 Azure 队列触发器:配置最小轮询间隔
- visual-studio-code - VS Code 菜单的下拉列表显示乱码?
- python-3.x - PyTorch 展开与 as_stride
- python - “从链接列表中删除循环”中的运行时错误
- modelica - 如何在 OpenModelica 中为热泵更改“部分类中的中级”
- php - 保存包含 hasManyThrough 关系的新对象(Laravel,PHP)
- excel - VBA合并没有xlsx文件的xls文件
- java - 角度/弹簧靴体编码
- python - 带有API的python中的AdalError