我正在尝试测试使用 OHHTTPStubs 捕获的发送请求正文,但返回时似乎有问题,因为
request.httpBody
为 nil
。
我找到了有关此问题的信息 Testing for the request body in your stubs .但我是 iOS 开发的新手,不知道如何在 Swift 中访问 OHHTTPStubs_HTTPBody
。我该怎么做?
最佳答案
我猜 Swift 中的粗略等效项如下:
import OHHTTPStubs.NSURLRequest_HTTPBodyTesting
...
stub(isMethodPOST() && testBody()) { _ in
return OHHTTPStubsResponse(data: validLoginResponseData, statusCode:200, headers:nil)
}).name = "login"
public func testBody() -> OHHTTPStubsTestBlock {
return { req in
let body = req.ohhttpStubs_HTTPBody()
let bodyString = String.init(data: body, encoding: String.Encoding.utf8)
return bodyString == "user=foo&password=bar"
}
}
因此,更准确地说,您可以通过调用 OHHTTPStubsTestBlock
中的 ohhttpStubs_HTTPBody()
方法来访问 OHHTTPStubs_HTTPBody
。
关于ios - 在 Swift 中使用 OHHTTPStubs 测试请求体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44085214/