标签: ohhttpstubs

在Swift中使用OHHTTPStubs测试请求体

我正在尝试测试用OHHTTPStubs捕获的请求体,但它看起来似乎有问题,因为它 request.httpBodynil.

我发现了有关此问题的此信息测试存根中的请求正文.但我在iOS开发方面很新,不知道如何OHHTTPStubs_HTTPBody在Swift中访问.我怎样才能做到这一点?

ios ohhttpstubs swift

4
推荐指数
1
解决办法
1140
查看次数

无法使OHHTTPStub与NSURLSession一起使用

我正在尝试在我的XCTest类中使用OHHTTPStubs,

这是我OHTTPStubs在测试文件中配置的方式.

//
// Tests Configuration
//
- (void)setUp
{
    [super setUp];
    _bundle = [NSBundle bundleForClass:[self class]];
    [self configureHTTPStubs];
    [self installHTTPStubs];
}

- (void)configureHTTPStubs
{
    [OHHTTPStubs onStubActivation:^(NSURLRequest *request, id<OHHTTPStubsDescriptor> stub) {
        NSLog(@"[OHHTTPStubs] Request to %@ has been stubbed with %@", request.URL, stub.name);
    }];
}

- (void)installHTTPStubs
{
    HIAPIRequests *requester = [[HIAPIOperator sharedOperator] requester];
    [OHHTTPStubs setEnabled:YES forSessionConfiguration:requester.session.configuration];
    [OHHTTPStubs stubRequestsPassingTest:^BOOL(NSURLRequest *request) {
        return [request.URL.path isEqualToString:@"/image_upload"];
    } withStubResponse:^OHHTTPStubsResponse *(NSURLRequest *request) {
        return [[OHHTTPStubsResponse responseWithFileAtPath:OHPathForFileInBundle(@"image_upload_ws_response.json", nil)
                                                 statusCode:201
                                                    headers:@{@"Content-Type":@"text/json"}] responseTime:OHHTTPStubsDownloadSpeed3G];
    }].name = @"Image …
Run Code Online (Sandbox Code Playgroud)

iphone ios ios7 ohhttpstubs

1
推荐指数
1
解决办法
2031
查看次数

如何在 UITesting 上存根网络请求

有没有办法为用 Swift 编写的 UITests 存根网络请求?

我已经安装了 OHHTTPStubs pod,但无法通过使用它的方法来存根我的网络请求,这是因为 UITest 目标和应用程序目标在不同的线程中执行。

我将不胜感激任何建议。

mocking ui-testing stubbing ohhttpstubs xcode-ui-testing

1
推荐指数
1
解决办法
1635
查看次数

Swift:显示错误的 OHHTTPStubs 的测试实现

我通过可可豆提取 OHHTTPStubs,但我遇到了一些我无法弄清楚原因的问题。这是我的 podFile 的副本

# platform :ios, '11.3'

target 'myApp' do
  use_frameworks!
  target 'myAppTests' do
    inherit! :search_paths
   pod 'OHHTTPStubs/Swift'
  end
end
Run Code Online (Sandbox Code Playgroud)

在我的测试文件中:

import OHHTTPStubs
@testable import myApp

class myTest: XCTestCase {

    var client: CryptoCompareClient!

    override func setUp() {
        super.setUp()
        OHHTTPStubs.onStubMissing { request in
            XCTFail("Missing stub for \(request)")
        }
    }
Run Code Online (Sandbox Code Playgroud)

在这一行:

    OHHTTPStubs.onStubMissing { request in
        XCTFail("Missing stub for \(request)")
    }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Type 'OHHTTPStubs' has no member 'onStubMissing'
Run Code Online (Sandbox Code Playgroud)

此外,我正在尝试使用 OHHTTPStubs 从包中加载文件:

let bundle = OHResourceBundle("myFixtures", FixtureLoader.self)!
        let path = OHPathForFileInBundle(filename, bundle)!
        return …
Run Code Online (Sandbox Code Playgroud)

ios ohhttpstubs swift4 xcode9

0
推荐指数
1
解决办法
872
查看次数